Class 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.
    • 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 be null
        filter - actual filter for filtering delegate scope. Can't be null
        slicePredicateService - IIndexSlicePredicateService for working with index slices, can't be null
    • Method Detail

      • getAllElements

        public Iterable<org.eclipse.xtext.resource.IEObjectDescription> getAllElements()
        Specified by:
        getAllElements in interface org.eclipse.xtext.scoping.IScope
      • getElements

        public Iterable<org.eclipse.xtext.resource.IEObjectDescription> getElements​(org.eclipse.emf.ecore.EObject object)
        Specified by:
        getElements in interface org.eclipse.xtext.scoping.IScope
      • getElements

        public Iterable<org.eclipse.xtext.resource.IEObjectDescription> getElements​(org.eclipse.xtext.naming.QualifiedName name)
        Specified by:
        getElements in interface org.eclipse.xtext.scoping.IScope
      • getSingleElement

        public org.eclipse.xtext.resource.IEObjectDescription getSingleElement​(org.eclipse.emf.ecore.EObject object)
        Specified by:
        getSingleElement in interface org.eclipse.xtext.scoping.IScope
      • getSingleElement

        public org.eclipse.xtext.resource.IEObjectDescription getSingleElement​(org.eclipse.xtext.naming.QualifiedName name)
        Specified by:
        getSingleElement in interface org.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 interface ISlicedScope
        Parameters:
        name - the name of the to-be-found element. May not be null.
        slices - list of predicates corresponding to the index slices, can't be null
        Returns:
        the first element that matches the name. May be null.
      • 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 interface ISlicedScope
        Parameters:
        name - the name of the to-be-found elements. May not be null.
        slices - list of predicates corresponding to the index slices, can't be null
        Returns:
        all elements that match the name. Never null.
      • 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 an UnsupportedOperationException if the scope cannot be enumerated.
        Specified by:
        getAllElements in interface ISlicedScope
        Parameters:
        slices - list of predicates corresponding to the index slices, can't be null
        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 interface ISlicedScope
        Parameters:
        object - the instance whose descriptions should be obtained. May not be null.
        slices - list of predicates corresponding to the index slices, can't be null
        Returns:
        all elements that match the instance. Never null.
      • getFirst

        protected org.eclipse.xtext.resource.IEObjectDescription getFirst​(Iterable<org.eclipse.xtext.resource.IEObjectDescription> elements)
        Gets the first element from elements.
        Parameters:
        elements - collection for getting the first element, can't be null
        Returns:
        the first element of the collection, or null if colletion is empty