org.eclipse.xtext.resource
Interface ISelectable

All Known Subinterfaces:
IBuilderState, IContainer, IDirtyStateManager, IResourceDescription, IResourceDescriptions, IResourceDescriptions.IContextAware
All Known Implementing Classes:
AbstractBuilderState, AbstractCompoundSelectable, AbstractContainer, AbstractResourceDescription, ClusteringBuilderState, CopiedResourceDescription, CurrentDescriptions, CurrentDescriptions.ResourceSetAware, DefaultResourceDescription, DescriptionAddingContainer, DirtyStateAwareResourceDescriptions, DirtyStateManager, EObjectDescriptionLookUp, FilterUriContainer, IResourceDescriptions.NullImpl, LayeredTypeResourceDescription, LoadOnDemandResourceDescriptions, MultimapBasedSelectable, ResourceDescriptionImpl, ResourceDescriptionsBasedContainer, ResourceDescriptionsData, ResourceSetBasedResourceDescriptions, ScopeBasedSelectable, StateBasedContainer, StatefulResourceDescription, TypeResourceDescription, URIBasedTestResourceDescription, URIBasedTestResourceDescription

public interface ISelectable

An ISelectable is something that can be queried for exported object. Thereby it serves as a common abstract super concept for IContainer and IResourceDescription. Furthermore there is an implementation of the IScope interface that is based on ISelectable and vice versa. All implementations of ISelectable can deal with ignore case and case sensitive queries.

Author:
Sebastian Zarnekow - Initial contribution and API

Method Summary
 java.lang.Iterable<IEObjectDescription> getExportedObjects()
           
 java.lang.Iterable<IEObjectDescription> getExportedObjects(org.eclipse.emf.ecore.EClass type, QualifiedName name, boolean ignoreCase)
           
 java.lang.Iterable<IEObjectDescription> getExportedObjectsByObject(org.eclipse.emf.ecore.EObject object)
           
 java.lang.Iterable<IEObjectDescription> getExportedObjectsByType(org.eclipse.emf.ecore.EClass type)
           
 boolean isEmpty()
          Clients may want to check the selectable to skip its processing in case it is empty.
 

Method Detail

isEmpty

boolean isEmpty()
Clients may want to check the selectable to skip its processing in case it is empty. Implementations should be fast and not require expensive precalculation. Selectable may return false if it is too expensive to compute the actual result.

Returns:
true if the selectable does not provide any descriptions.

getExportedObjects

java.lang.Iterable<IEObjectDescription> getExportedObjects()
Returns:
all exported elements. May not be null.

getExportedObjects

java.lang.Iterable<IEObjectDescription> getExportedObjects(org.eclipse.emf.ecore.EClass type,
                                                           QualifiedName name,
                                                           boolean ignoreCase)
Returns:
all elements which match the given qualified name and type. May not be null.

getExportedObjectsByType

java.lang.Iterable<IEObjectDescription> getExportedObjectsByType(org.eclipse.emf.ecore.EClass type)
Returns:
all elements which match the given type. May not be null.

getExportedObjectsByObject

java.lang.Iterable<IEObjectDescription> getExportedObjectsByObject(org.eclipse.emf.ecore.EObject object)
Returns:
all elements which match the given instance. May not be null.