org.eclipse.ocl.examples.common.utils
Class EcoreUtils

java.lang.Object
  extended by org.eclipse.ocl.examples.common.utils.EcoreUtils

public class EcoreUtils
extends java.lang.Object


Field Summary
static ILabelGenerator.Registry QUALIFIED_NAME_REGISTRY
          The global QUALIFIED_NAME_REGISTRY is used by qualifiedNameFor to generate qualified names for objects; typically a :: separted hierarchical name.
static ILabelGenerator.Registry SIMPLE_NAME_REGISTRY
          The global SIMPLE_NAME_REGISTRY is used by simpleNameFor to generate simple names for objects; typically the name property.
 
Constructor Summary
EcoreUtils()
           
 
Method Summary
static
<E extends org.eclipse.emf.ecore.EObject>
E
copy(E newObject)
           
static java.lang.String diagnoseUnresolvedProxies(org.eclipse.emf.common.util.URI contextURI, java.util.Map<org.eclipse.emf.ecore.EObject,java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>> map)
          Convert the map return from EcoreUtil.UnresolvedProxyCrossReferencer.find(xx) into a textual diagnosis.
static java.lang.String formatMultiplicity(org.eclipse.emf.ecore.ETypedElement typedElement)
           
static java.lang.String formatOrdered(org.eclipse.emf.ecore.ETypedElement typedElement)
           
static java.lang.String formatString(java.lang.String name)
           
static java.lang.String formatUnique(org.eclipse.emf.ecore.ETypedElement typedElement)
           
static
<T extends org.eclipse.emf.common.notify.Adapter>
T
getAdapter(java.util.List<org.eclipse.emf.common.notify.Adapter> eAdapters, java.lang.Class<T> adapterClass)
           
static
<T extends org.eclipse.emf.common.notify.Adapter>
T
getAdapter(org.eclipse.emf.common.notify.Notifier notifier, java.lang.Class<T> adapterClass)
           
static java.util.Map.Entry<java.lang.String,java.lang.String> getEAnnotationDetail(Constraint constraint)
          Return the Ecore EStringToStringMapEntry that realises a given Constraint.
static org.eclipse.emf.ecore.EOperation getEcoreInvariant(org.eclipse.emf.ecore.EClass eClass, java.lang.String name)
          Return the EOperation that realises the name invariant for eClass.
static org.eclipse.emf.ecore.EClassifier getEType(org.eclipse.emf.ecore.EObject sourceObject, org.eclipse.emf.ecore.EStructuralFeature feature)
          Return the specialised value of feature.getEType() resolving any type parameters from the specialised type of the sourceObject of the feature.
static
<T> int
getFeatureID(org.eclipse.emf.common.notify.Notification notification, T expectedNotifier, java.lang.Class<T> featureClass)
           
static
<T extends org.eclipse.emf.ecore.ENamedElement>
T
getNamedElement(java.util.Collection<T> elements, java.lang.String name)
           
static
<T extends org.eclipse.emf.ecore.ENamedElement,R extends T>
R
getNamedElement(java.util.Collection<T> elements, java.lang.String name, java.lang.Class<R> returnClass)
           
static java.lang.String qualifiedNameFor(java.lang.Object object)
          Return a qualified name for object using the label generators registered in the QUALIFIED_NAME_REGISTRY.
static java.lang.String simpleNameFor(java.lang.Object object)
          Return a simple name for object using the label generators registered in the SIMPLE_NAME_REGISTRY.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SIMPLE_NAME_REGISTRY

public static ILabelGenerator.Registry SIMPLE_NAME_REGISTRY
The global SIMPLE_NAME_REGISTRY is used by simpleNameFor to generate simple names for objects; typically the name property. The SIMPLE_NAME_REGISTRY delegates unsupported label generation to the global ILabelGenerator.Registry.INSTANCE.


QUALIFIED_NAME_REGISTRY

public static ILabelGenerator.Registry QUALIFIED_NAME_REGISTRY
The global QUALIFIED_NAME_REGISTRY is used by qualifiedNameFor to generate qualified names for objects; typically a :: separted hierarchical name. The QUALIFIED_NAME_REGISTRY delegates unsupported label generation to the SIMPLE_NAME_REGISTRY.

Constructor Detail

EcoreUtils

public EcoreUtils()
Method Detail

copy

public static <E extends org.eclipse.emf.ecore.EObject> E copy(E newObject)

diagnoseUnresolvedProxies

public static java.lang.String diagnoseUnresolvedProxies(org.eclipse.emf.common.util.URI contextURI,
                                                         java.util.Map<org.eclipse.emf.ecore.EObject,java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature.Setting>> map)
Convert the map return from EcoreUtil.UnresolvedProxyCrossReferencer.find(xx) into a textual diagnosis.
Returns null if there are no unresolved URIs.
Returns a String containing a title line containing the contextURI and subsequent lines identifying each distinct unresolved URI.


formatMultiplicity

public static java.lang.String formatMultiplicity(org.eclipse.emf.ecore.ETypedElement typedElement)

formatOrdered

public static java.lang.String formatOrdered(org.eclipse.emf.ecore.ETypedElement typedElement)

formatString

public static java.lang.String formatString(java.lang.String name)

formatUnique

public static java.lang.String formatUnique(org.eclipse.emf.ecore.ETypedElement typedElement)

getAdapter

public static <T extends org.eclipse.emf.common.notify.Adapter> T getAdapter(org.eclipse.emf.common.notify.Notifier notifier,
                                                                             java.lang.Class<T> adapterClass)

getAdapter

public static <T extends org.eclipse.emf.common.notify.Adapter> T getAdapter(java.util.List<org.eclipse.emf.common.notify.Adapter> eAdapters,
                                                                             java.lang.Class<T> adapterClass)

getEType

public static org.eclipse.emf.ecore.EClassifier getEType(org.eclipse.emf.ecore.EObject sourceObject,
                                                         org.eclipse.emf.ecore.EStructuralFeature feature)
Return the specialised value of feature.getEType() resolving any type parameters from the specialised type of the sourceObject of the feature.

Parameters:
sourceObject -
feature -
Returns:

getEAnnotationDetail

public static java.util.Map.Entry<java.lang.String,java.lang.String> getEAnnotationDetail(Constraint constraint)
Return the Ecore EStringToStringMapEntry that realises a given Constraint.

Parameters:
constraint - the constraint
Returns:
the annotation detail entry, null if not found

getEcoreInvariant

public static org.eclipse.emf.ecore.EOperation getEcoreInvariant(org.eclipse.emf.ecore.EClass eClass,
                                                                 java.lang.String name)
Return the EOperation that realises the name invariant for eClass.

Parameters:
eClass - with invariant
name - of invariant
Returns:
the EOperation or null

getFeatureID

public static <T> int getFeatureID(org.eclipse.emf.common.notify.Notification notification,
                                   T expectedNotifier,
                                   java.lang.Class<T> featureClass)

getNamedElement

public static <T extends org.eclipse.emf.ecore.ENamedElement> T getNamedElement(java.util.Collection<T> elements,
                                                                                java.lang.String name)

getNamedElement

public static <T extends org.eclipse.emf.ecore.ENamedElement,R extends T> R getNamedElement(java.util.Collection<T> elements,
                                                                                            java.lang.String name,
                                                                                            java.lang.Class<R> returnClass)

qualifiedNameFor

public static java.lang.String qualifiedNameFor(java.lang.Object object)
Return a qualified name for object using the label generators registered in the QUALIFIED_NAME_REGISTRY.

Parameters:
object - to be named
Returns:
qualified name

simpleNameFor

public static java.lang.String simpleNameFor(java.lang.Object object)
Return a simple name for object using the label generators registered in the SIMPLE_NAME_REGISTRY.

Parameters:
object - to be named
Returns:
simple name