org.eclipse.ocl.examples.pivot.ecore
Class Ecore2Pivot

java.lang.Object
  extended by org.eclipse.ocl.examples.pivot.utilities.AbstractConversion
      extended by org.eclipse.ocl.examples.pivot.ecore.AbstractEcore2Pivot
          extended by org.eclipse.ocl.examples.pivot.ecore.Ecore2Pivot
All Implemented Interfaces:
org.eclipse.emf.common.notify.Adapter, org.eclipse.emf.common.notify.Adapter.Internal, MetaModelManagedAdapter, MetaModelManagerListener, PivotConstants, External2Pivot
Direct Known Subclasses:
UML2Ecore2Pivot

public class Ecore2Pivot
extends AbstractEcore2Pivot


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.ocl.examples.pivot.utilities.AbstractConversion
AbstractConversion.Predicate<T extends org.eclipse.emf.ecore.EObject>
 
Nested classes/interfaces inherited from interface org.eclipse.emf.common.notify.Adapter
org.eclipse.emf.common.notify.Adapter.Internal
 
Field Summary
protected  Ecore2PivotDeclarationSwitch declarationPass
           
protected  org.eclipse.emf.ecore.resource.Resource ecoreResource
           
static MetaModelManager.Factory FACTORY
           
protected  Root pivotRoot
           
protected  Ecore2PivotReferenceSwitch referencePass
           
 
Fields inherited from class org.eclipse.ocl.examples.pivot.utilities.AbstractConversion
metaModelManager
 
Fields inherited from interface org.eclipse.ocl.examples.pivot.PivotConstants
ACCUMULATOR_SEPARATOR, ANNOTATION_QUOTE, BINDINGS_PREFIX, COLLECTION_NAVIGATION_OPERATOR, DOCUMENTATION_ANNOTATION_KEY, DOCUMENTATION_ANNOTATION_SOURCE, GEN_MODEL_URI, GREATER_THAN_OPERATOR, GREATER_THAN_OR_EQUAL_OPERATOR, IMPORT_ANNOTATION_SOURCE, ITERATOR_SEPARATOR, LESS_THAN_OPERATOR, LESS_THAN_OR_EQUAL_OPERATOR, LIBRARY_MONIKER_PREFIX, MESSAGE_ANNOTATION_DETAIL_SUFFIX, MONIKER_EXP_CHILD_PREFIX, MONIKER_IF_EXP, MONIKER_INVALID_LITERAL_EXP, MONIKER_LET_EXP, MONIKER_NULL_LITERAL_EXP, MONIKER_OPERATOR_SEPARATOR, MONIKER_OVERFLOW_LIMIT, MONIKER_PART_SEPARATOR, MONIKER_ROOT, MONIKER_ROOT_EXP, MONIKER_SCOPE_SEPARATOR, MONIKER_STRING_LITERAL_EXP, MONIKER_TUPLE_LITERAL_EXP, MONIKER_UNLIMITED_NATURAL_LITERAL_EXP, NULL_MARKER, NULL_ROOT, OBJECT_NAVIGATION_OPERATOR, OCL_LANGUAGE, OCL_NAME, ORPHANAGE_NAME, ORPHANAGE_PREFIX, ORPHANAGE_URI, OVERFLOW_MARKER, PARAMETER_PREFIX, PARAMETER_SEPARATOR, PARAMETER_SUFFIX, PIVOT_ECORE, PLUGIN_ID, PRECEDENCE_PREFIX, PRIMITIVE_TYPES_URI_PREFIX, roleNames, SYSML_ANNOTATION_SOURCE, TEMPLATE_BINDING_PREFIX, TEMPLATE_BINDING_SEPARATOR, TEMPLATE_BINDING_SUFFIX, TEMPLATE_PARAMETER_PREFIX, TEMPLATE_SIGNATURE_PREFIX, TEMPLATE_SIGNATURE_SEPARATOR, TEMPLATE_SIGNATURE_SUFFIX, TUPLE_SIGNATURE_PART_SEPARATOR, TUPLE_SIGNATURE_PREFIX, TUPLE_SIGNATURE_SUFFIX, TUPLE_SIGNATURE_TYPE_SEPARATOR, UNKNOWN_TYPE_TEXT, UNRESOLVED_PROXY_MARKER, WILDCARD_INDICATOR, WILDCARD_NAME
 
Constructor Summary
Ecore2Pivot(org.eclipse.emf.ecore.resource.Resource ecoreResource, MetaModelManager metaModelManager)
           
 
Method Summary
protected  void addCreated(org.eclipse.emf.ecore.EObject eObject, Element pivotElement)
           
 void addGenericType(org.eclipse.emf.ecore.EGenericType eObject)
           
 void addMapping(org.eclipse.emf.ecore.EObject eObject, Element pivotElement)
           
protected  org.eclipse.emf.common.util.URI createPivotURI()
           
 void dispose()
           
 void error(java.lang.String message)
           
static Ecore2Pivot findAdapter(org.eclipse.emf.ecore.resource.Resource resource, MetaModelManager metaModelManager)
           
static Ecore2Pivot getAdapter(org.eclipse.emf.ecore.resource.Resource resource, MetaModelManager metaModelManager)
           
<T extends Element>
T
getCreated(java.lang.Class<T> requiredClass, org.eclipse.emf.ecore.EObject eObject)
           
 java.util.Map<org.eclipse.emf.ecore.EClassifier,Type> getEcore2PivotMap()
           
 org.eclipse.emf.ecore.resource.Resource getEcoreResource()
           
<T extends Element>
T
getPivotElement(java.lang.Class<T> requiredClass, org.eclipse.emf.ecore.EObject eObject)
           
<T extends Element>
T
getPivotOfEcore(java.lang.Class<T> requiredClass, org.eclipse.emf.ecore.EObject eObject)
           
 Root getPivotRoot()
           
 Type getPivotType(org.eclipse.emf.ecore.EObject eObject)
           
 org.eclipse.emf.ecore.resource.Resource getResource()
           
 org.eclipse.emf.common.notify.Notifier getTarget()
           
 org.eclipse.emf.common.util.URI getURI()
           
static Element importFromEcore(MetaModelManager metaModelManager, java.lang.String alias, org.eclipse.emf.ecore.EObject eObject)
          Convert an (annotated) Ecore object to a pivot element.
static Root importFromEcore(MetaModelManager metaModelManager, java.lang.String alias, org.eclipse.emf.ecore.resource.Resource ecoreResource)
          Convert an (annotated) Ecore resource to a Pivot Model.
 Root importObjects(java.util.Collection<org.eclipse.emf.ecore.EObject> ecoreContents, org.eclipse.emf.common.util.URI pivotURI)
           
 void initializeEcore2PivotMap()
           
protected  void installImports()
           
 boolean isAdapterFor(MetaModelManager metaModelManager)
           
 boolean isAdapterForType(java.lang.Object type)
           
static boolean isEcore(org.eclipse.emf.ecore.resource.Resource resource)
           
protected  boolean isPivot(java.util.Collection<org.eclipse.emf.ecore.EObject> ecoreContents)
           
 void metaModelManagerDisposed(MetaModelManager metaModelManager)
          Respond to disposal of the MetaModelManager by eliminating all further usage.
 void notifyChanged(org.eclipse.emf.common.notify.Notification notification)
           
 void queueReference(org.eclipse.emf.ecore.EObject eObject)
           
<T extends NamedElement>
T
refreshElement(java.lang.Class<T> pivotClass, org.eclipse.emf.ecore.EClass pivotEClass, org.eclipse.emf.ecore.EModelElement eModelElement)
           
protected  Type resolveDataType(org.eclipse.emf.ecore.EDataType eClassifier)
           
protected  Type resolveGenericType(java.util.Map<java.lang.String,Type> resolvedSpecializations, org.eclipse.emf.ecore.EGenericType eGenericType)
           
protected  Type resolveSimpleType(org.eclipse.emf.ecore.EClassifier eClassifier)
           
protected  Type resolveType(java.util.Map<java.lang.String,Type> resolvedSpecializations, org.eclipse.emf.ecore.EGenericType eGenericType)
           
protected  Type resolveTypeParameter(org.eclipse.emf.ecore.EGenericType eGenericType)
           
protected  Type resolveWildcardType(org.eclipse.emf.ecore.EGenericType eGenericType)
           
 void setEcoreURI(org.eclipse.emf.common.util.URI ecoreURI)
           
 void setTarget(org.eclipse.emf.common.notify.Notifier newTarget)
           
 void unsetTarget(org.eclipse.emf.common.notify.Notifier oldTarget)
           
 void update(org.eclipse.emf.ecore.resource.Resource pivotResource, java.util.Collection<org.eclipse.emf.ecore.EObject> ecoreContents)
           
 
Methods inherited from class org.eclipse.ocl.examples.pivot.ecore.AbstractEcore2Pivot
refreshNamedElement
 
Methods inherited from class org.eclipse.ocl.examples.pivot.utilities.AbstractConversion
basicGet, getEPackage, getMetaModelManager, isId, refreshList, refreshSet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FACTORY

public static MetaModelManager.Factory FACTORY

ecoreResource

protected final org.eclipse.emf.ecore.resource.Resource ecoreResource

pivotRoot

protected Root pivotRoot

declarationPass

protected final Ecore2PivotDeclarationSwitch declarationPass

referencePass

protected final Ecore2PivotReferenceSwitch referencePass
Constructor Detail

Ecore2Pivot

public Ecore2Pivot(@Nullable
                   org.eclipse.emf.ecore.resource.Resource ecoreResource,
                   @Nullable
                   MetaModelManager metaModelManager)
Method Detail

findAdapter

@Nullable
public static Ecore2Pivot findAdapter(@NonNull
                                               org.eclipse.emf.ecore.resource.Resource resource,
                                               @NonNull
                                               MetaModelManager metaModelManager)

getAdapter

public static Ecore2Pivot getAdapter(@NonNull
                                     org.eclipse.emf.ecore.resource.Resource resource,
                                     @Nullable
                                     MetaModelManager metaModelManager)

importFromEcore

@NonNull
public static Root importFromEcore(@NonNull
                                           MetaModelManager metaModelManager,
                                           java.lang.String alias,
                                           @NonNull
                                           org.eclipse.emf.ecore.resource.Resource ecoreResource)
Convert an (annotated) Ecore resource to a Pivot Model.

Parameters:
alias -
ecoreResource - the annotated Ecore resource
Returns:
the Pivot root package

isEcore

public static boolean isEcore(@NonNull
                              org.eclipse.emf.ecore.resource.Resource resource)

importFromEcore

public static Element importFromEcore(@NonNull
                                      MetaModelManager metaModelManager,
                                      java.lang.String alias,
                                      @NonNull
                                      org.eclipse.emf.ecore.EObject eObject)
Convert an (annotated) Ecore object to a pivot element.

Parameters:
eObject - the annotated Ecore object
Returns:
the pivot element

addCreated

protected void addCreated(org.eclipse.emf.ecore.EObject eObject,
                          Element pivotElement)

addGenericType

public void addGenericType(@NonNull
                           org.eclipse.emf.ecore.EGenericType eObject)
Specified by:
addGenericType in class AbstractEcore2Pivot

addMapping

public void addMapping(@NonNull
                       org.eclipse.emf.ecore.EObject eObject,
                       @NonNull
                       Element pivotElement)
Specified by:
addMapping in class AbstractEcore2Pivot

createPivotURI

@NonNull
protected org.eclipse.emf.common.util.URI createPivotURI()

dispose

public void dispose()

error

public void error(@Nullable
                  java.lang.String message)
Specified by:
error in class AbstractEcore2Pivot

getCreated

@Nullable
public <T extends Element> T getCreated(@NonNull
                                                 java.lang.Class<T> requiredClass,
                                                 @NonNull
                                                 org.eclipse.emf.ecore.EObject eObject)

getEcore2PivotMap

@NonNull
public java.util.Map<org.eclipse.emf.ecore.EClassifier,Type> getEcore2PivotMap()

getEcoreResource

@Nullable
public org.eclipse.emf.ecore.resource.Resource getEcoreResource()

getPivotOfEcore

@Nullable
public <T extends Element> T getPivotOfEcore(@NonNull
                                                      java.lang.Class<T> requiredClass,
                                                      @NonNull
                                                      org.eclipse.emf.ecore.EObject eObject)

getPivotElement

public <T extends Element> T getPivotElement(@NonNull
                                             java.lang.Class<T> requiredClass,
                                             @NonNull
                                             org.eclipse.emf.ecore.EObject eObject)

getPivotType

public Type getPivotType(@NonNull
                         org.eclipse.emf.ecore.EObject eObject)

getPivotRoot

@NonNull
public Root getPivotRoot()

getResource

@Nullable
public org.eclipse.emf.ecore.resource.Resource getResource()

getTarget

@Nullable
public org.eclipse.emf.common.notify.Notifier getTarget()

getURI

@NonNull
public org.eclipse.emf.common.util.URI getURI()

importObjects

@NonNull
public Root importObjects(@NonNull
                                  java.util.Collection<org.eclipse.emf.ecore.EObject> ecoreContents,
                                  @NonNull
                                  org.eclipse.emf.common.util.URI pivotURI)

initializeEcore2PivotMap

public void initializeEcore2PivotMap()

installImports

protected void installImports()

isAdapterFor

public boolean isAdapterFor(@NonNull
                            MetaModelManager metaModelManager)

isAdapterForType

public boolean isAdapterForType(java.lang.Object type)

isPivot

protected boolean isPivot(@NonNull
                          java.util.Collection<org.eclipse.emf.ecore.EObject> ecoreContents)

metaModelManagerDisposed

public void metaModelManagerDisposed(@NonNull
                                     MetaModelManager metaModelManager)
Description copied from interface: MetaModelManagerListener
Respond to disposal of the MetaModelManager by eliminating all further usage.


notifyChanged

public void notifyChanged(org.eclipse.emf.common.notify.Notification notification)

queueReference

public void queueReference(@NonNull
                           org.eclipse.emf.ecore.EObject eObject)
Specified by:
queueReference in class AbstractEcore2Pivot

refreshElement

@NonNull
public <T extends NamedElement> T refreshElement(@NonNull
                                                         java.lang.Class<T> pivotClass,
                                                         org.eclipse.emf.ecore.EClass pivotEClass,
                                                         @NonNull
                                                         org.eclipse.emf.ecore.EModelElement eModelElement)
Overrides:
refreshElement in class AbstractEcore2Pivot

resolveDataType

protected Type resolveDataType(@NonNull
                               org.eclipse.emf.ecore.EDataType eClassifier)

resolveGenericType

protected Type resolveGenericType(@NonNull
                                  java.util.Map<java.lang.String,Type> resolvedSpecializations,
                                  @NonNull
                                  org.eclipse.emf.ecore.EGenericType eGenericType)

resolveSimpleType

protected Type resolveSimpleType(@NonNull
                                 org.eclipse.emf.ecore.EClassifier eClassifier)

resolveType

protected Type resolveType(@NonNull
                           java.util.Map<java.lang.String,Type> resolvedSpecializations,
                           @NonNull
                           org.eclipse.emf.ecore.EGenericType eGenericType)

resolveTypeParameter

protected Type resolveTypeParameter(@NonNull
                                    org.eclipse.emf.ecore.EGenericType eGenericType)

resolveWildcardType

protected Type resolveWildcardType(@NonNull
                                   org.eclipse.emf.ecore.EGenericType eGenericType)

setEcoreURI

public void setEcoreURI(org.eclipse.emf.common.util.URI ecoreURI)

setTarget

public void setTarget(org.eclipse.emf.common.notify.Notifier newTarget)

unsetTarget

public void unsetTarget(org.eclipse.emf.common.notify.Notifier oldTarget)

update

public void update(@NonNull
                   org.eclipse.emf.ecore.resource.Resource pivotResource,
                   @NonNull
                   java.util.Collection<org.eclipse.emf.ecore.EObject> ecoreContents)