org.eclipse.xtext.resource.impl
Class ResourceDescriptionsBasedContainer
java.lang.Object
org.eclipse.xtext.resource.impl.AbstractCompoundSelectable
org.eclipse.xtext.resource.impl.AbstractContainer
org.eclipse.xtext.resource.impl.ResourceDescriptionsBasedContainer
- All Implemented Interfaces:
- IContainer, IResourceDescription.Event.Listener, ISelectable
- Direct Known Subclasses:
- StateBasedContainer
public class ResourceDescriptionsBasedContainer
- extends AbstractContainer
- implements IResourceDescription.Event.Listener
A default ResourceDescriptionsBasedContainer
will expose the complete
set of resource descriptions of a backing IResourceDescriptions
. Clients may
override and filter the uris based on arbitrary criteria by means of contains(IResourceDescription)
and hasResourceDescription(URI)
. The implementation has to be symmetric. The default
implementation of contains
delegates to
hasResourceDescription
.
The default implementation is not synchronized as clients will usually create
short living containers.
- Author:
- Sebastian Zarnekow - Initial contribution and API
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ResourceDescriptionsBasedContainer
public ResourceDescriptionsBasedContainer(IResourceDescriptions descriptions)
getResourceDescription
public IResourceDescription getResourceDescription(org.eclipse.emf.common.util.URI uri)
- Specified by:
getResourceDescription
in interface IContainer
- Overrides:
getResourceDescription
in class AbstractContainer
- Returns:
- the
IResourceDescription
for the given URI, or null is this container does
not contain such an IResourceDescription
.
The result may be a cached view on the actual content of the underlying resource.
getResourceDescriptions
public java.lang.Iterable<IResourceDescription> getResourceDescriptions()
- Specified by:
getResourceDescriptions
in interface IContainer
- Returns:
- the
IResourceDescription
contained in this container. The result is never
null
. The result may be a cached view on the actual content of the underlying resources.
getExportedObjects
public java.lang.Iterable<IEObjectDescription> getExportedObjects(org.eclipse.emf.ecore.EClass type,
QualifiedName qualifiedName,
boolean ignoreCase)
- Specified by:
getExportedObjects
in interface ISelectable
- Overrides:
getExportedObjects
in class AbstractCompoundSelectable
- Returns:
- all elements which match the given qualified name and type. May not be
null
.
getExportedObjectsByType
public java.lang.Iterable<IEObjectDescription> getExportedObjectsByType(org.eclipse.emf.ecore.EClass type)
- Specified by:
getExportedObjectsByType
in interface ISelectable
- Overrides:
getExportedObjectsByType
in class AbstractCompoundSelectable
- Returns:
- all elements which match the given type. May not be
null
.
filterByURI
protected java.lang.Iterable<IEObjectDescription> filterByURI(java.lang.Iterable<IEObjectDescription> unfiltered)
getResourceDescriptionCount
public int getResourceDescriptionCount()
- Specified by:
getResourceDescriptionCount
in interface IContainer
- Overrides:
getResourceDescriptionCount
in class AbstractContainer
- Returns:
- the total number of resource descriptions returned by
IContainer.getResourceDescriptions()
getUriToDescription
protected java.util.Map<org.eclipse.emf.common.util.URI,IResourceDescription> getUriToDescription()
doGetUriToDescription
protected java.util.Map<org.eclipse.emf.common.util.URI,IResourceDescription> doGetUriToDescription()
contains
protected boolean contains(IResourceDescription input)
hasResourceDescription
public boolean hasResourceDescription(org.eclipse.emf.common.util.URI uri)
- Specified by:
hasResourceDescription
in interface IContainer
- Overrides:
hasResourceDescription
in class AbstractContainer
- Returns:
true
if the container can provide a resource description with the given uri
.
getDescriptions
protected IResourceDescriptions getDescriptions()
descriptionsChanged
public void descriptionsChanged(IResourceDescription.Event event)
- Description copied from interface:
IResourceDescription.Event.Listener
The source will invoce this method to announce changed resource. The event will never be
null
. However, it may contain an empty list of deltas.
Listeners are free to remove themselves from the sender of the event or add other listeners. However
added listeners will not be informed about the current change.
This event may be fired asynchronously. It is ensured that the changed resources will provide the content
as it was when the change has been announced to the sender of the event.
- Specified by:
descriptionsChanged
in interface IResourceDescription.Event.Listener
- Parameters:
event
- the fired event. Will never be null
.