Class LightFilteringScope
- java.lang.Object
-
- com._1c.g5.modeling.xtext.scoping.LightFilteringScope
-
- All Implemented Interfaces:
ISlicedScope
,org.eclipse.xtext.scoping.IScope
public class LightFilteringScope extends Object implements org.eclipse.xtext.scoping.IScope, ISlicedScope
Lightweight implementation of the IScope.
-
-
Field Summary
-
Fields inherited from interface com._1c.g5.modeling.xtext.scoping.ISlicedScope
NULLSCOPE
-
-
Constructor Summary
Constructors Constructor Description LightFilteringScope(ISlicedScope delegate, com.google.common.base.Predicate<org.eclipse.xtext.resource.IEObjectDescription> filter, IIndexSlicePredicateService slicePredicateService)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Iterable<org.eclipse.xtext.resource.IEObjectDescription>
getAllElements()
Iterable<org.eclipse.xtext.resource.IEObjectDescription>
getAllElements(Collection<ISliceFilter> slices)
Obtain all elements from the scope.Iterable<org.eclipse.xtext.resource.IEObjectDescription>
getElements(org.eclipse.emf.ecore.EObject object)
Iterable<org.eclipse.xtext.resource.IEObjectDescription>
getElements(org.eclipse.emf.ecore.EObject object, Collection<ISliceFilter> slices)
Finds all descriptions that match the given instance.Iterable<org.eclipse.xtext.resource.IEObjectDescription>
getElements(org.eclipse.xtext.naming.QualifiedName name)
Iterable<org.eclipse.xtext.resource.IEObjectDescription>
getElements(org.eclipse.xtext.naming.QualifiedName name, Collection<ISliceFilter> slices)
Find all descriptions that match the given name.protected org.eclipse.xtext.resource.IEObjectDescription
getFirst(Iterable<org.eclipse.xtext.resource.IEObjectDescription> elements)
Gets the first element fromelements
.org.eclipse.xtext.resource.IEObjectDescription
getSingleElement(org.eclipse.emf.ecore.EObject object)
org.eclipse.xtext.resource.IEObjectDescription
getSingleElement(org.eclipse.xtext.naming.QualifiedName name)
org.eclipse.xtext.resource.IEObjectDescription
getSingleElement(org.eclipse.xtext.naming.QualifiedName name, Collection<ISliceFilter> slices)
Finds the first description that matches the given name.
-
-
-
Constructor Detail
-
LightFilteringScope
public LightFilteringScope(ISlicedScope delegate, com.google.common.base.Predicate<org.eclipse.xtext.resource.IEObjectDescription> filter, IIndexSlicePredicateService slicePredicateService)
Constructor- Parameters:
delegate
-ISlicedScope
for filtering, can't benull
filter
- actual filter for filteringdelegate
scope. Can't benull
slicePredicateService
-IIndexSlicePredicateService
for working with index slices, can't benull
-
-
Method Detail
-
getAllElements
public Iterable<org.eclipse.xtext.resource.IEObjectDescription> getAllElements()
- Specified by:
getAllElements
in interfaceorg.eclipse.xtext.scoping.IScope
-
getElements
public Iterable<org.eclipse.xtext.resource.IEObjectDescription> getElements(org.eclipse.emf.ecore.EObject object)
- Specified by:
getElements
in interfaceorg.eclipse.xtext.scoping.IScope
-
getElements
public Iterable<org.eclipse.xtext.resource.IEObjectDescription> getElements(org.eclipse.xtext.naming.QualifiedName name)
- Specified by:
getElements
in interfaceorg.eclipse.xtext.scoping.IScope
-
getSingleElement
public org.eclipse.xtext.resource.IEObjectDescription getSingleElement(org.eclipse.emf.ecore.EObject object)
- Specified by:
getSingleElement
in interfaceorg.eclipse.xtext.scoping.IScope
-
getSingleElement
public org.eclipse.xtext.resource.IEObjectDescription getSingleElement(org.eclipse.xtext.naming.QualifiedName name)
- Specified by:
getSingleElement
in interfaceorg.eclipse.xtext.scoping.IScope
-
getSingleElement
public org.eclipse.xtext.resource.IEObjectDescription getSingleElement(org.eclipse.xtext.naming.QualifiedName name, Collection<ISliceFilter> slices)
Description copied from interface:ISlicedScope
Finds the first description that matches the given name.- Specified by:
getSingleElement
in interfaceISlicedScope
- Parameters:
name
- the name of the to-be-found element. May not benull
.slices
- list of predicates corresponding to the index slices, can't benull
- Returns:
- the first element that matches the
name
. May benull
.
-
getElements
public Iterable<org.eclipse.xtext.resource.IEObjectDescription> getElements(org.eclipse.xtext.naming.QualifiedName name, Collection<ISliceFilter> slices)
Description copied from interface:ISlicedScope
Find all descriptions that match the given name.- Specified by:
getElements
in interfaceISlicedScope
- Parameters:
name
- the name of the to-be-found elements. May not benull
.slices
- list of predicates corresponding to the index slices, can't benull
- Returns:
- all elements that match the
name
. Nevernull
.
-
getAllElements
public Iterable<org.eclipse.xtext.resource.IEObjectDescription> getAllElements(Collection<ISliceFilter> slices)
Description copied from interface:ISlicedScope
Obtain all elements from the scope. Implementors a free to throw anUnsupportedOperationException
if the scope cannot be enumerated.- Specified by:
getAllElements
in interfaceISlicedScope
- Parameters:
slices
- list of predicates corresponding to the index slices, can't benull
- Returns:
- all elements of the scope. Never
null
.
-
getElements
public Iterable<org.eclipse.xtext.resource.IEObjectDescription> getElements(org.eclipse.emf.ecore.EObject object, Collection<ISliceFilter> slices)
Description copied from interface:ISlicedScope
Finds all descriptions that match the given instance.- Specified by:
getElements
in interfaceISlicedScope
- Parameters:
object
- the instance whose descriptions should be obtained. May not benull
.slices
- list of predicates corresponding to the index slices, can't benull
- Returns:
- all elements that match the
instance
. Nevernull
.
-
getFirst
protected org.eclipse.xtext.resource.IEObjectDescription getFirst(Iterable<org.eclipse.xtext.resource.IEObjectDescription> elements)
Gets the first element fromelements
.- Parameters:
elements
- collection for getting the first element, can't benull
- Returns:
- the first element of the collection, or
null
if colletion is empty
-
-