public class ResourceDescriptionsBasedContainer extends AbstractContainer implements IResourceDescription.Event.Listener
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.IContainer.Manager
NULL_CONTAINER
Constructor and Description |
---|
ResourceDescriptionsBasedContainer(IResourceDescriptions descriptions) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
contains(IResourceDescription input) |
void |
descriptionsChanged(IResourceDescription.Event event)
The source will invoce this method to announce changed resource.
|
protected java.util.Map<org.eclipse.emf.common.util.URI,IResourceDescription> |
doGetUriToDescription() |
protected java.lang.Iterable<IEObjectDescription> |
filterByURI(java.lang.Iterable<IEObjectDescription> unfiltered) |
protected IResourceDescriptions |
getDescriptions() |
java.lang.Iterable<IEObjectDescription> |
getExportedObjects(org.eclipse.emf.ecore.EClass type,
QualifiedName qualifiedName,
boolean ignoreCase) |
java.lang.Iterable<IEObjectDescription> |
getExportedObjectsByType(org.eclipse.emf.ecore.EClass type) |
IResourceDescription |
getResourceDescription(org.eclipse.emf.common.util.URI uri) |
int |
getResourceDescriptionCount() |
java.lang.Iterable<IResourceDescription> |
getResourceDescriptions() |
protected java.util.Map<org.eclipse.emf.common.util.URI,IResourceDescription> |
getUriToDescription() |
boolean |
hasResourceDescription(org.eclipse.emf.common.util.URI uri) |
boolean |
isUriToDescriptionCacheEnabled() |
void |
setUriToDescriptionCacheEnabled(boolean enabled) |
getExportedObjectsByObject, getSelectables
getExportedObjects, isEmpty
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getExportedObjects, isEmpty
public ResourceDescriptionsBasedContainer(IResourceDescriptions descriptions)
public IResourceDescription getResourceDescription(org.eclipse.emf.common.util.URI uri)
getResourceDescription
in interface IContainer
getResourceDescription
in class AbstractContainer
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.public java.lang.Iterable<IResourceDescription> getResourceDescriptions()
getResourceDescriptions
in interface IContainer
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.public java.lang.Iterable<IEObjectDescription> getExportedObjects(org.eclipse.emf.ecore.EClass type, QualifiedName qualifiedName, boolean ignoreCase)
getExportedObjects
in interface ISelectable
getExportedObjects
in class AbstractCompoundSelectable
null
.public java.lang.Iterable<IEObjectDescription> getExportedObjectsByType(org.eclipse.emf.ecore.EClass type)
getExportedObjectsByType
in interface ISelectable
getExportedObjectsByType
in class AbstractCompoundSelectable
null
.protected java.lang.Iterable<IEObjectDescription> filterByURI(java.lang.Iterable<IEObjectDescription> unfiltered)
public int getResourceDescriptionCount()
getResourceDescriptionCount
in interface IContainer
getResourceDescriptionCount
in class AbstractContainer
IContainer.getResourceDescriptions()
public void setUriToDescriptionCacheEnabled(boolean enabled)
public boolean isUriToDescriptionCacheEnabled()
protected java.util.Map<org.eclipse.emf.common.util.URI,IResourceDescription> getUriToDescription()
protected java.util.Map<org.eclipse.emf.common.util.URI,IResourceDescription> doGetUriToDescription()
protected boolean contains(IResourceDescription input)
public boolean hasResourceDescription(org.eclipse.emf.common.util.URI uri)
hasResourceDescription
in interface IContainer
hasResourceDescription
in class AbstractContainer
true
if the container can provide a resource description with the given uri
.protected IResourceDescriptions getDescriptions()
public void descriptionsChanged(IResourceDescription.Event event)
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.
descriptionsChanged
in interface IResourceDescription.Event.Listener
event
- the fired event. Will never be null
.