Package org.eclipse.xtext
Class EcoreUtil2
- java.lang.Object
-
- org.eclipse.emf.ecore.util.EcoreUtil
-
- org.eclipse.xtext.EcoreUtil2
-
public class EcoreUtil2 extends org.eclipse.emf.ecore.util.EcoreUtil
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
EcoreUtil2.ElementReferenceAcceptor
-
Nested classes/interfaces inherited from class org.eclipse.emf.ecore.util.EcoreUtil
org.eclipse.emf.ecore.util.EcoreUtil.AbstractFilteredSettingsIterator<E extends java.lang.Object>, org.eclipse.emf.ecore.util.EcoreUtil.ContentTreeIterator<E extends java.lang.Object>, 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 extends java.lang.Object>, org.eclipse.emf.ecore.util.EcoreUtil.ProxyCrossReferencer, org.eclipse.emf.ecore.util.EcoreUtil.UnresolvedProxyCrossReferencer, org.eclipse.emf.ecore.util.EcoreUtil.UsageCrossReferencer
-
-
Constructor Summary
Constructors Constructor Description EcoreUtil2()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <T extends org.eclipse.emf.ecore.EObject>
Tclone(T eObject)
Deprecated.useEcoreUtil.copy(EObject)
instead.static <T extends org.eclipse.emf.ecore.resource.ResourceSet>
Tclone(T target, org.eclipse.emf.ecore.resource.ResourceSet source)
copies contents of a resource set into a new onestatic <T extends org.eclipse.emf.ecore.EObject>
TcloneIfContained(T eObject)
only clones the element if it is contained in anotherEObject
or anotherResource
static <T extends org.eclipse.emf.ecore.EObject>
TcloneWithProxies(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 void
findCrossReferences(org.eclipse.emf.ecore.EObject rootElement, java.util.Set<? extends org.eclipse.emf.ecore.EObject> targets, EcoreUtil2.ElementReferenceAcceptor acceptor)
A better performing alternative to theEcoreUtil.CrossReferencer
.static java.lang.Iterable<org.eclipse.emf.ecore.EObject>
getAllContainers(org.eclipse.emf.ecore.EObject obj)
Returns an Iterable that iterates over all containers of this EObject, from leaf to root.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 org.eclipse.emf.common.util.TreeIterator<org.eclipse.emf.ecore.EObject>
getAllNonDerivedContents(org.eclipse.emf.ecore.EObject root)
static org.eclipse.emf.common.util.TreeIterator<org.eclipse.emf.ecore.EObject>
getAllNonDerivedContents(org.eclipse.emf.ecore.EObject root, boolean includeRoot)
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 toEClassifierInfos.getAllEClassInfos()
this implementation can deal with cycles in type hierarchystatic 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>
TgetContainerOfType(org.eclipse.emf.ecore.EObject ele, java.lang.Class<T> type)
Returns the closestcontainer object
of the requested 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 java.lang.String
getFragmentPath(org.eclipse.emf.ecore.EObject object)
protected static java.lang.String
getFragmentPathRootSegment(org.eclipse.emf.ecore.EObject eObject)
protected static java.lang.String
getFragmentPathSegment(org.eclipse.emf.ecore.InternalEObject container, org.eclipse.emf.ecore.EStructuralFeature feature, org.eclipse.emf.ecore.InternalEObject contained)
static org.eclipse.emf.common.util.URI
getFragmentPathURI(org.eclipse.emf.ecore.EObject object)
static org.eclipse.emf.ecore.EObject
getNextSibling(org.eclipse.emf.ecore.EObject eObject)
static java.util.Iterator<org.eclipse.emf.ecore.EObject>
getNonDerivedContents(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.common.util.URI
getPlatformResourceOrNormalizedURI(org.eclipse.emf.ecore.EObject eObject)
static org.eclipse.emf.common.util.URI
getPlatformResourceOrNormalizedURI(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 superType, org.eclipse.emf.ecore.EClass candidate)
Returns whether the given super type is the same as, or a super type of, some other class.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, org.eclipse.xtext.util.CancelIndicator monitor)
static void
resolveAll(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.xtext.util.CancelIndicator monitor)
static void
resolveLazyCrossReferences(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.xtext.util.CancelIndicator monitor)
If the given resource is aLazyLinkingResource
the implementation delegates toLazyLinkingResource.resolveLazyCrossReferences(CancelIndicator)
otherwise toresolveAll(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, deleteAll, equals, equals, filterDescendants, freeze, generateUUID, generateUUID, getAdapter, getAdapterFactory, getAllContents, getAllContents, getAllContents, getAllContents, getAllContents, getAllProperContents, getAllProperContents, getAllProperContents, getAllProperContents, getAnnotation, getConstraints, getConversionDelegateFactory, getConversionDelegates, getDocumentation, getEObject, getExistingAdapter, getID, getIdentification, getInvocationDelegateFactory, getInvocationDelegates, getObjectByType, getObjectsByType, getRegisteredAdapter, getRegisteredAdapter, getReifiedType, getRelativeURIFragmentPath, getRoot, getRootContainer, getRootContainer, getSettingDelegateFactory, getSettingDelegates, getURI, getValidationDelegates, indexOf, isAncestor, isAncestor, isAncestor, isAncestor, isInvariant, isSuppressedVisibility, isSuppressedVisibility, remove, remove, remove, removeAll, removeAll, removeAll, replace, replace, replace, resolve, resolve, resolve, resolveAll, resolveAll, resolveAll, setAnnotation, setConstraints, setConversionDelegates, setDocumentation, setEList, setEList, setID, setInvocationDelegates, setSettingDelegates, setSuppressedVisibility, setSuppressedVisibility, setValidationDelegates, toJavaInstanceTypeName, wrapperClassFor
-
-
-
-
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)
Returns the closestcontainer object
of the requested type. If the given object is an instance of the requested type, then the object itself will be returned. If no container object is of the requested type, thennull
will be returned.
-
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
@Deprecated public static <T extends org.eclipse.emf.ecore.EObject> T clone(T eObject)
Deprecated.useEcoreUtil.copy(EObject)
instead.A generified facade toEcoreUtil.copy(EObject)
. Note that since EMF 2.6EcoreUtil.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 anotherEObject
or anotherResource
-
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 toEClassifierInfos.getAllEClassInfos()
this implementation can deal with cycles in type hierarchy
-
isAssignableFrom
public static boolean isAssignableFrom(org.eclipse.emf.ecore.EClass superType, org.eclipse.emf.ecore.EClass candidate)
Returns whether the given super type is the same as, or a super type of, some other class.- Parameters:
superType
- the super typecandidate
- the subtype- Returns:
- whether the super type is the same as, or a super type of, some other class. Yields
null
when either argument isnull
.
-
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, org.eclipse.xtext.util.CancelIndicator monitor)
-
resolveLazyCrossReferences
public static void resolveLazyCrossReferences(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.xtext.util.CancelIndicator monitor)
If the given resource is aLazyLinkingResource
the implementation delegates toLazyLinkingResource.resolveLazyCrossReferences(CancelIndicator)
otherwise toresolveAll(Resource, CancelIndicator)
.
-
resolveAll
public static void resolveAll(org.eclipse.emf.ecore.EObject eObject, org.eclipse.xtext.util.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. UsegetEReferenceFromExternalForm(org.eclipse.emf.ecore.EPackage.Registry, String)
to retrieve theEReference
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)
-
getPlatformResourceOrNormalizedURI
public static org.eclipse.emf.common.util.URI getPlatformResourceOrNormalizedURI(org.eclipse.emf.ecore.EObject eObject)
- Returns:
- the eobject's URI in the normalized form or as is if it is a platform:/resource URI.
- Since:
- 2.4
-
getPlatformResourceOrNormalizedURI
public static org.eclipse.emf.common.util.URI getPlatformResourceOrNormalizedURI(org.eclipse.emf.ecore.resource.Resource resource)
- Returns:
- the resources uri in the normalized form or as is if it is a platform:/resource URI.
- Since:
- 2.4
-
findCrossReferences
public static void findCrossReferences(org.eclipse.emf.ecore.EObject rootElement, java.util.Set<? extends org.eclipse.emf.ecore.EObject> targets, EcoreUtil2.ElementReferenceAcceptor acceptor)
A better performing alternative to theEcoreUtil.CrossReferencer
.- Since:
- 2.4
-
getAllNonDerivedContents
public static org.eclipse.emf.common.util.TreeIterator<org.eclipse.emf.ecore.EObject> getAllNonDerivedContents(org.eclipse.emf.ecore.EObject root, boolean includeRoot)
- Since:
- 2.6
-
getAllNonDerivedContents
public static org.eclipse.emf.common.util.TreeIterator<org.eclipse.emf.ecore.EObject> getAllNonDerivedContents(org.eclipse.emf.ecore.EObject root)
- Since:
- 2.6
-
getNonDerivedContents
public static java.util.Iterator<org.eclipse.emf.ecore.EObject> getNonDerivedContents(org.eclipse.emf.ecore.EObject eObject)
- Since:
- 2.6
-
getAllContainers
public static java.lang.Iterable<org.eclipse.emf.ecore.EObject> getAllContainers(org.eclipse.emf.ecore.EObject obj)
Returns an Iterable that iterates over all containers of this EObject, from leaf to root. Theobj
itself is not included.- Since:
- 2.9
-
getFragmentPathURI
public static org.eclipse.emf.common.util.URI getFragmentPathURI(org.eclipse.emf.ecore.EObject object)
-
getFragmentPath
public static java.lang.String getFragmentPath(org.eclipse.emf.ecore.EObject object)
-
getFragmentPathSegment
protected static java.lang.String getFragmentPathSegment(org.eclipse.emf.ecore.InternalEObject container, org.eclipse.emf.ecore.EStructuralFeature feature, org.eclipse.emf.ecore.InternalEObject contained)
-
getFragmentPathRootSegment
protected static java.lang.String getFragmentPathRootSegment(org.eclipse.emf.ecore.EObject eObject)
-
-