org.eclipse.ocl.examples.pivot.uml
Class UML2Pivot.Outer

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.uml.UML2Pivot
              extended by org.eclipse.ocl.examples.pivot.uml.UML2Pivot.Outer
All Implemented Interfaces:
org.eclipse.emf.common.notify.Adapter, org.eclipse.emf.common.notify.Adapter.Internal, MetaModelManagedAdapter, MetaModelManagerListener, PivotConstants, External2Pivot
Enclosing class:
UML2Pivot

public static class UML2Pivot.Outer
extends UML2Pivot

A UML2Pivot$Outer adapts an unconverted UML resource and hosts the additional conversions necessary for imported UML resources.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.ocl.examples.pivot.uml.UML2Pivot
UML2Pivot.Inner, UML2Pivot.Outer
 
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  UML2PivotDeclarationSwitch declarationPass
           
protected  UML2PivotReferenceSwitch referencePass
           
 
Fields inherited from class org.eclipse.ocl.examples.pivot.uml.UML2Pivot
FACTORY, pivotRoot, STEREOTYPE_BASE_PREFIX, STEREOTYPE_EXTENSION_PREFIX, umlResource
 
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
protected UML2Pivot.Outer(org.eclipse.emf.ecore.resource.Resource umlResource, MetaModelManager metaModelManager)
           
 
Method Summary
 void addCreated(org.eclipse.emf.ecore.EObject eObject, Element pivotElement)
           
 void addGenericType(org.eclipse.emf.ecore.EGenericType eObject)
           
 void addImportedResource(org.eclipse.emf.ecore.resource.Resource importedResource)
           
 void addMapping(org.eclipse.emf.ecore.EObject eObject, Element pivotElement)
           
 void addProperties(java.util.List<org.eclipse.uml2.uml.Property> properties, AbstractConversion.Predicate<org.eclipse.uml2.uml.Property> predicate)
           
 void addStereotypeApplication(org.eclipse.emf.ecore.EObject umlStereotypeApplication)
           
 void error(java.lang.String message)
           
<T extends Element>
T
getCreated(java.lang.Class<T> requiredClass, org.eclipse.emf.ecore.EObject eObject)
           
 UML2PivotDeclarationSwitch getDeclarationPass()
           
 java.util.List<org.eclipse.emf.ecore.resource.Resource> getImportedResources()
           
 Root getPivotRoot()
           
 Type getPivotType(org.eclipse.emf.ecore.EObject eObject)
           
 UML2Pivot.Outer getRoot()
           
protected  void installAliases(org.eclipse.emf.ecore.resource.Resource pivotResource)
           
protected  void installImports()
           
protected  void installProperties()
           
protected  void installReferences()
           
protected  void installStereotypes()
           
 void queueReference(org.eclipse.emf.ecore.EObject umlElement)
           
protected  Type resolveStereotype(org.eclipse.emf.ecore.EObject umlStereotypeApplication, java.util.List<org.eclipse.uml2.uml.Element> umlStereotypedElements)
          Return the UML Stereotype referenced by the UML stereotype application to some UML Stereotyped Elements.
protected  java.util.Map<Element,java.util.List<org.eclipse.emf.ecore.EObject>> resolveStereotypeApplications(java.util.Map<org.eclipse.emf.ecore.EObject,java.util.List<org.eclipse.uml2.uml.Element>> stereotypedElements)
          Determine the UML stereotype applications for each stereotyped pivot element, given a pre-computed mapping of stereotyped UML elements for each UML stereotype application.
protected  java.util.List<org.eclipse.uml2.uml.Element> resolveStereotypedElements(org.eclipse.emf.ecore.EObject umlStereotypeApplication)
          Determine the list of UML elements stereotyped by a UML stereotype application.
 
Methods inherited from class org.eclipse.ocl.examples.pivot.uml.UML2Pivot
addImportedPackages, createPivotURI, dispose, findAdapter, getAdapter, getResource, getTarget, getURI, importFromUML, importFromUML, initialize, initialize, installDeclarations, isAdapterFor, isAdapterForType, isPivot, isUML, metaModelManagerDisposed, notifyChanged, refreshElement, refreshNamedElement, resolveType, resolveTypeParameter, resolveWildcardType, setOriginalMapping, setTarget, setUMLURI, unsetTarget
 
Methods inherited from class org.eclipse.ocl.examples.pivot.ecore.AbstractEcore2Pivot
refreshElement, 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

declarationPass

@NonNull
protected final UML2PivotDeclarationSwitch declarationPass

referencePass

@NonNull
protected final UML2PivotReferenceSwitch referencePass
Constructor Detail

UML2Pivot.Outer

protected UML2Pivot.Outer(@NonNull
                          org.eclipse.emf.ecore.resource.Resource umlResource,
                          @NonNull
                          MetaModelManager metaModelManager)
Method Detail

addCreated

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

addGenericType

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

addImportedResource

public void addImportedResource(@NonNull
                                org.eclipse.emf.ecore.resource.Resource importedResource)
Specified by:
addImportedResource in class UML2Pivot

addMapping

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

addProperties

public void addProperties(@NonNull
                          java.util.List<org.eclipse.uml2.uml.Property> properties,
                          @Nullable
                          AbstractConversion.Predicate<org.eclipse.uml2.uml.Property> predicate)
Specified by:
addProperties in class UML2Pivot

addStereotypeApplication

public void addStereotypeApplication(@NonNull
                                     org.eclipse.emf.ecore.EObject umlStereotypeApplication)
Specified by:
addStereotypeApplication in class UML2Pivot

error

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

getCreated

public <T extends Element> T getCreated(@NonNull
                                        java.lang.Class<T> requiredClass,
                                        @NonNull
                                        org.eclipse.emf.ecore.EObject eObject)
Specified by:
getCreated in class UML2Pivot

getDeclarationPass

@NonNull
public final UML2PivotDeclarationSwitch getDeclarationPass()
Specified by:
getDeclarationPass in class UML2Pivot

getImportedResources

@Nullable
public java.util.List<org.eclipse.emf.ecore.resource.Resource> getImportedResources()

getPivotRoot

@NonNull
public Root getPivotRoot()
                  throws ParserException
Specified by:
getPivotRoot in class UML2Pivot
Throws:
ParserException

getPivotType

public Type getPivotType(@NonNull
                         org.eclipse.emf.ecore.EObject eObject)
Specified by:
getPivotType in class UML2Pivot

getRoot

@NonNull
public UML2Pivot.Outer getRoot()
Specified by:
getRoot in class UML2Pivot

installAliases

protected void installAliases(@NonNull
                              org.eclipse.emf.ecore.resource.Resource pivotResource)

installImports

protected void installImports()
                       throws ParserException
Throws:
ParserException

installProperties

protected void installProperties()

installReferences

protected void installReferences()

installStereotypes

protected void installStereotypes()

queueReference

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

resolveStereotypeApplications

@NonNull
protected java.util.Map<Element,java.util.List<org.eclipse.emf.ecore.EObject>> resolveStereotypeApplications(@NonNull
                                                                                                                     java.util.Map<org.eclipse.emf.ecore.EObject,java.util.List<org.eclipse.uml2.uml.Element>> stereotypedElements)
Determine the UML stereotype applications for each stereotyped pivot element, given a pre-computed mapping of stereotyped UML elements for each UML stereotype application.


resolveStereotype

@Nullable
protected Type resolveStereotype(@NonNull
                                          org.eclipse.emf.ecore.EObject umlStereotypeApplication,
                                          @NonNull
                                          java.util.List<org.eclipse.uml2.uml.Element> umlStereotypedElements)
Return the UML Stereotype referenced by the UML stereotype application to some UML Stereotyped Elements.

Note that the reference ine the UML Stereotype application is a to a particular Ecore version of the Profile, rather than to the UML profile, so we have to locate the UML profile by URI and name.


resolveStereotypedElements

@NonNull
protected java.util.List<org.eclipse.uml2.uml.Element> resolveStereotypedElements(@NonNull
                                                                                          org.eclipse.emf.ecore.EObject umlStereotypeApplication)
Determine the list of UML elements stereotyped by a UML stereotype application. These are the targets of base_XXX XML elements.