org.eclipse.xtext
Class EcoreUtil2

java.lang.Object
  extended by org.eclipse.emf.ecore.util.EcoreUtil
      extended by org.eclipse.xtext.EcoreUtil2

public class EcoreUtil2
extends org.eclipse.emf.ecore.util.EcoreUtil

Author:
Heiko Behrens, Sebastian Zarnekow, Sven Efftinge, Michael Clay

Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.emf.ecore.util.EcoreUtil
org.eclipse.emf.ecore.util.EcoreUtil.AbstractFilteredSettingsIterator<E>, org.eclipse.emf.ecore.util.EcoreUtil.ContentTreeIterator<E>, org.eclipse.emf.ecore.util.EcoreUtil.Copier, org.eclipse.emf.ecore.util.EcoreUtil.CrossReferencer, org.eclipse.emf.ecore.util.EcoreUtil.EGenericTypeConverter, org.eclipse.emf.ecore.util.EcoreUtil.EqualityHelper, org.eclipse.emf.ecore.util.EcoreUtil.ExternalCrossReferencer, org.eclipse.emf.ecore.util.EcoreUtil.FilteredSettingsIterator, org.eclipse.emf.ecore.util.EcoreUtil.ProperContentIterator<E>, org.eclipse.emf.ecore.util.EcoreUtil.ProxyCrossReferencer, org.eclipse.emf.ecore.util.EcoreUtil.UnresolvedProxyCrossReferencer, org.eclipse.emf.ecore.util.EcoreUtil.UsageCrossReferencer
 
Field Summary
 
Fields inherited from class org.eclipse.emf.ecore.util.EcoreUtil
GEN_MODEL_PACKAGE_NS_URI, GET, IS_SET, SET, UNSET
 
Constructor Summary
EcoreUtil2()
           
 
Method Summary
static
<T extends org.eclipse.emf.ecore.EObject>
T
clone(T eObject)
          A generified facade to EcoreUtil.copy(EObject).
static
<T extends org.eclipse.emf.ecore.resource.ResourceSet>
T
clone(T target, org.eclipse.emf.ecore.resource.ResourceSet source)
          copies contents of a resource set into a new one
static
<T extends org.eclipse.emf.ecore.EObject>
T
cloneIfContained(T eObject)
          only clones the element if it is contained in another EObject or another Resource
static
<T extends org.eclipse.emf.ecore.EObject>
T
cloneWithProxies(T original)
          Clones the given EObject without resolving any proxies.
static
<T> java.util.List<T>
collect(java.util.Collection<? extends org.eclipse.emf.ecore.EObject> instances, int featureId, java.lang.Class<T> type)
           
static org.eclipse.emf.common.util.TreeIterator<org.eclipse.emf.ecore.EObject> eAll(org.eclipse.emf.ecore.EObject obj)
           
static java.lang.Iterable<org.eclipse.emf.ecore.EObject> eAllContents(org.eclipse.emf.ecore.EObject n)
           
static java.util.List<org.eclipse.emf.ecore.EObject> eAllContentsAsList(org.eclipse.emf.ecore.EObject ele)
           
static java.util.List<org.eclipse.emf.ecore.EObject> eAllContentsAsList(org.eclipse.emf.ecore.resource.Resource resource)
           
static
<T extends org.eclipse.emf.ecore.EObject>
java.util.List<T>
eAllOfType(org.eclipse.emf.ecore.EObject ele, java.lang.Class<T> type)
           
static
<T extends org.eclipse.emf.ecore.EObject>
java.util.List<T>
getAllContentsOfType(org.eclipse.emf.ecore.EObject ele, java.lang.Class<T> type)
           
static java.util.List<org.eclipse.emf.ecore.EObject> getAllReferencedObjects(org.eclipse.emf.ecore.EObject referer, org.eclipse.emf.ecore.EReference reference)
           
static java.util.Collection<org.eclipse.emf.ecore.EClass> getAllSuperTypes(org.eclipse.emf.ecore.EClass eClass)
          In addition to EClassifierInfos.getAllEClassInfos() this implementation can deal with cycles in type hierarchy
static org.eclipse.emf.ecore.EClassifier getCompatibleType(org.eclipse.emf.ecore.EClassifier typeA, org.eclipse.emf.ecore.EClassifier typeB)
           
static org.eclipse.emf.ecore.EClassifier getCompatibleType(org.eclipse.emf.ecore.EClassifier typeA, org.eclipse.emf.ecore.EClassifier typeB, org.eclipse.emf.ecore.EObject grammarContext)
           
static java.util.List<org.eclipse.emf.ecore.EClass> getCompatibleTypesOf(org.eclipse.emf.ecore.EClass eClass)
           
static
<T extends org.eclipse.emf.ecore.EObject>
T
getContainerOfType(org.eclipse.emf.ecore.EObject ele, java.lang.Class<T> type)
           
static org.eclipse.emf.ecore.EReference getEReferenceFromExternalForm(org.eclipse.emf.ecore.EPackage.Registry registry, java.lang.String externalForm)
          looks up the EReference in the passed registry, given the external form.
static org.eclipse.emf.ecore.EObject getNextSibling(org.eclipse.emf.ecore.EObject eObject)
           
static org.eclipse.emf.common.util.URI getNormalizedResourceURI(org.eclipse.emf.ecore.EObject eObject)
           
static org.eclipse.emf.common.util.URI getNormalizedURI(org.eclipse.emf.ecore.EObject eObject)
           
static org.eclipse.emf.common.util.URI getNormalizedURI(org.eclipse.emf.ecore.resource.Resource resource)
           
static org.eclipse.emf.ecore.EObject getPreviousSibling(org.eclipse.emf.ecore.EObject eObject)
           
static org.eclipse.emf.ecore.resource.Resource getResource(org.eclipse.emf.ecore.resource.Resource context, java.lang.String uri)
           
static org.eclipse.emf.ecore.resource.ResourceSet getResourceSet(org.eclipse.emf.common.notify.Notifier ctx)
           
static
<T extends org.eclipse.emf.ecore.EObject>
java.util.List<T>
getSiblingsOfType(org.eclipse.emf.ecore.EObject ele, java.lang.Class<T> type)
           
static java.lang.String getURIFragment(org.eclipse.emf.ecore.EObject eObject)
           
static boolean hasSameURI(org.eclipse.emf.ecore.EObject o0, org.eclipse.emf.ecore.EObject o1)
           
static boolean isAssignableFrom(org.eclipse.emf.ecore.EClass target, org.eclipse.emf.ecore.EClass candidate)
           
static boolean isValidUri(org.eclipse.emf.ecore.EObject context, org.eclipse.emf.common.util.URI uri)
           
static boolean isValidUri(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.emf.common.util.URI uri)
          checks whether the given URI can be loaded given the context.
static org.eclipse.emf.ecore.EPackage loadEPackage(java.lang.String uriAsString, java.lang.ClassLoader classLoader)
           
static void resolveAll(org.eclipse.emf.ecore.EObject eObject, CancelIndicator monitor)
           
static void resolveAll(org.eclipse.emf.ecore.resource.Resource resource, CancelIndicator monitor)
           
static void resolveLazyCrossReferences(org.eclipse.emf.ecore.resource.Resource resource, CancelIndicator monitor)
          If the given resource is a LazyLinkingResource the implementation delegates to LazyLinkingResource.resolveLazyCrossReferences(CancelIndicator) otherwise to resolveAll(Resource, CancelIndicator).
static java.lang.String toExternalForm(org.eclipse.emf.ecore.EReference ref)
          creates an external form of the given EReference.
static
<T> java.util.List<T>
typeSelect(java.util.List<?> elements, java.lang.Class<T> clazz)
           
 
Methods inherited from class org.eclipse.emf.ecore.util.EcoreUtil
computeDiagnostic, convertToString, copy, copyAll, create, createFromString, delete, delete, equals, filterDescendants, freeze, generateUUID, generateUUID, getAdapter, getAdapterFactory, getAllContents, getAllContents, getAllContents, getAllContents, getAllContents, getAllProperContents, getAllProperContents, getAllProperContents, getAllProperContents, getAnnotation, getConstraints, getDocumentation, getExistingAdapter, getID, getIdentification, getObjectByType, getObjectsByType, getRegisteredAdapter, getRegisteredAdapter, getRootContainer, getRootContainer, getURI, indexOf, isAncestor, isAncestor, isAncestor, isAncestor, isSuppressedVisibility, isSuppressedVisibility, remove, remove, remove, replace, replace, replace, resolve, resolve, resolve, resolveAll, resolveAll, resolveAll, setAnnotation, setConstraints, setDocumentation, setEList, setEList, setID, setSuppressedVisibility, setSuppressedVisibility, toJavaInstanceTypeName, wrapperClassFor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EcoreUtil2

public EcoreUtil2()
Method Detail

getNextSibling

public static org.eclipse.emf.ecore.EObject getNextSibling(org.eclipse.emf.ecore.EObject eObject)
Returns:
the next sibling of the passed eObject or null
Since:
2.1

getPreviousSibling

public static org.eclipse.emf.ecore.EObject getPreviousSibling(org.eclipse.emf.ecore.EObject eObject)
Returns:
the previous sibling of the passed eObject or null
Since:
2.1

getContainerOfType

public static <T extends org.eclipse.emf.ecore.EObject> T getContainerOfType(org.eclipse.emf.ecore.EObject ele,
                                                                             java.lang.Class<T> type)

getSiblingsOfType

public static <T extends org.eclipse.emf.ecore.EObject> java.util.List<T> getSiblingsOfType(org.eclipse.emf.ecore.EObject ele,
                                                                                            java.lang.Class<T> type)
Since:
2.1

clone

public static <T extends org.eclipse.emf.ecore.EObject> T clone(T eObject)
A generified facade to EcoreUtil.copy(EObject). Note that since EMF 2.6 EcoreUtil.copy(EObject) is already generic.


cloneWithProxies

public static <T extends org.eclipse.emf.ecore.EObject> T cloneWithProxies(T original)
Clones the given EObject without resolving any proxies.


cloneIfContained

public static <T extends org.eclipse.emf.ecore.EObject> T cloneIfContained(T eObject)
only clones the element if it is contained in another EObject or another Resource


clone

public static <T extends org.eclipse.emf.ecore.resource.ResourceSet> T clone(T target,
                                                                             org.eclipse.emf.ecore.resource.ResourceSet source)
copies contents of a resource set into a new one


getAllContentsOfType

public static <T extends org.eclipse.emf.ecore.EObject> java.util.List<T> getAllContentsOfType(org.eclipse.emf.ecore.EObject ele,
                                                                                               java.lang.Class<T> type)

typeSelect

public static <T> java.util.List<T> typeSelect(java.util.List<?> elements,
                                               java.lang.Class<T> clazz)

collect

public static <T> java.util.List<T> collect(java.util.Collection<? extends org.eclipse.emf.ecore.EObject> instances,
                                            int featureId,
                                            java.lang.Class<T> type)

eAllOfType

public static <T extends org.eclipse.emf.ecore.EObject> java.util.List<T> eAllOfType(org.eclipse.emf.ecore.EObject ele,
                                                                                     java.lang.Class<T> type)

eAll

public static org.eclipse.emf.common.util.TreeIterator<org.eclipse.emf.ecore.EObject> eAll(org.eclipse.emf.ecore.EObject obj)

eAllContents

public static java.lang.Iterable<org.eclipse.emf.ecore.EObject> eAllContents(org.eclipse.emf.ecore.EObject n)

eAllContentsAsList

public static java.util.List<org.eclipse.emf.ecore.EObject> eAllContentsAsList(org.eclipse.emf.ecore.EObject ele)

eAllContentsAsList

public static java.util.List<org.eclipse.emf.ecore.EObject> eAllContentsAsList(org.eclipse.emf.ecore.resource.Resource resource)

loadEPackage

public static final org.eclipse.emf.ecore.EPackage loadEPackage(java.lang.String uriAsString,
                                                                java.lang.ClassLoader classLoader)

getURIFragment

public static java.lang.String getURIFragment(org.eclipse.emf.ecore.EObject eObject)

getCompatibleType

public static org.eclipse.emf.ecore.EClassifier getCompatibleType(org.eclipse.emf.ecore.EClassifier typeA,
                                                                  org.eclipse.emf.ecore.EClassifier typeB)

getCompatibleType

public static org.eclipse.emf.ecore.EClassifier getCompatibleType(org.eclipse.emf.ecore.EClassifier typeA,
                                                                  org.eclipse.emf.ecore.EClassifier typeB,
                                                                  org.eclipse.emf.ecore.EObject grammarContext)
Since:
2.1

getCompatibleTypesOf

public static java.util.List<org.eclipse.emf.ecore.EClass> getCompatibleTypesOf(org.eclipse.emf.ecore.EClass eClass)

getAllSuperTypes

public static java.util.Collection<org.eclipse.emf.ecore.EClass> getAllSuperTypes(org.eclipse.emf.ecore.EClass eClass)
In addition to EClassifierInfos.getAllEClassInfos() this implementation can deal with cycles in type hierarchy


isAssignableFrom

public static boolean isAssignableFrom(org.eclipse.emf.ecore.EClass target,
                                       org.eclipse.emf.ecore.EClass candidate)

getAllReferencedObjects

public static java.util.List<org.eclipse.emf.ecore.EObject> getAllReferencedObjects(org.eclipse.emf.ecore.EObject referer,
                                                                                    org.eclipse.emf.ecore.EReference reference)

isValidUri

public static boolean isValidUri(org.eclipse.emf.ecore.resource.Resource resource,
                                 org.eclipse.emf.common.util.URI uri)
checks whether the given URI can be loaded given the context. I.e. there's a resource set with a corresponding resource factory and the physical resource exists.


isValidUri

public static boolean isValidUri(org.eclipse.emf.ecore.EObject context,
                                 org.eclipse.emf.common.util.URI uri)

getResource

public static org.eclipse.emf.ecore.resource.Resource getResource(org.eclipse.emf.ecore.resource.Resource context,
                                                                  java.lang.String uri)

getResourceSet

public static org.eclipse.emf.ecore.resource.ResourceSet getResourceSet(org.eclipse.emf.common.notify.Notifier ctx)

resolveAll

public static void resolveAll(org.eclipse.emf.ecore.resource.Resource resource,
                              CancelIndicator monitor)

resolveLazyCrossReferences

public static void resolveLazyCrossReferences(org.eclipse.emf.ecore.resource.Resource resource,
                                              CancelIndicator monitor)
If the given resource is a LazyLinkingResource the implementation delegates to LazyLinkingResource.resolveLazyCrossReferences(CancelIndicator) otherwise to resolveAll(Resource, CancelIndicator).


resolveAll

public static void resolveAll(org.eclipse.emf.ecore.EObject eObject,
                              CancelIndicator monitor)
See Also:
EcoreUtil.resolveAll(EObject)

toExternalForm

public static java.lang.String toExternalForm(org.eclipse.emf.ecore.EReference ref)
creates an external form of the given EReference. Use getEReferenceFromExternalForm(org.eclipse.emf.ecore.EPackage.Registry, String) to retrieve the EReference back.


getEReferenceFromExternalForm

public static org.eclipse.emf.ecore.EReference getEReferenceFromExternalForm(org.eclipse.emf.ecore.EPackage.Registry registry,
                                                                             java.lang.String externalForm)
looks up the EReference in the passed registry, given the external form. if registry == null this


hasSameURI

public static boolean hasSameURI(org.eclipse.emf.ecore.EObject o0,
                                 org.eclipse.emf.ecore.EObject o1)

getNormalizedResourceURI

public static org.eclipse.emf.common.util.URI getNormalizedResourceURI(org.eclipse.emf.ecore.EObject eObject)

getNormalizedURI

public static org.eclipse.emf.common.util.URI getNormalizedURI(org.eclipse.emf.ecore.EObject eObject)

getNormalizedURI

public static org.eclipse.emf.common.util.URI getNormalizedURI(org.eclipse.emf.ecore.resource.Resource resource)