org.eclipse.ocl.examples.xtext.base.pivot2cs
Class Pivot2CSConversion

java.lang.Object
  extended by org.eclipse.ocl.examples.pivot.utilities.AbstractConversion
      extended by org.eclipse.ocl.examples.xtext.base.pivot2cs.Pivot2CSConversion
All Implemented Interfaces:
PivotConstants

public class Pivot2CSConversion
extends AbstractConversion
implements PivotConstants


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>
 
Field Summary
protected  Pivot2CS converter
           
protected  BaseDeclarationVisitor defaultDeclarationVisitor
           
protected  BaseReferenceVisitor defaultReferenceVisitor
           
 
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
Pivot2CSConversion(Pivot2CS converter)
           
 
Method Summary
protected  void addBooleanQualifier(java.util.List<java.lang.String> qualifiers, DetailCS csDetail, java.lang.String csString)
           
protected  void createImports(org.eclipse.emf.ecore.resource.Resource csResource, java.util.Map<Namespace,java.util.List<java.lang.String>> importedNamespaces)
           
 BaseDeclarationVisitor getDeclarationVisitor(org.eclipse.emf.ecore.EClass eClass)
           
 BaseReferenceVisitor getReferenceVisitor(org.eclipse.emf.ecore.EClass eClass)
           
 Class getScope()
           
protected  java.util.List<TemplateBindingCS> getTemplateBindings(ElementCS csElement)
           
 void importNamespace(Namespace importNamespace, java.lang.String alias)
           
protected
<T extends ClassifierCS>
T
refreshClassifier(java.lang.Class<T> csClass, org.eclipse.emf.ecore.EClass csEClass, Type object)
           
<T extends ModelElementCS>
T
refreshElement(java.lang.Class<T> csClass, org.eclipse.emf.ecore.EClass csEClass, Element object)
           
<T extends NamedElementCS>
T
refreshNamedElement(java.lang.Class<T> csClass, org.eclipse.emf.ecore.EClass csEClass, NamedElement object)
           
 void refreshPathName(PathNameCS csPathName, Element element, Namespace scope)
          Assign a sequence of one or more path elements to csPathName that identify element with respect to scope.
 void refreshQualifiers(java.util.List<java.lang.String> qualifiers, java.lang.String string, boolean polarity)
           
 void refreshQualifiers(java.util.List<java.lang.String> qualifiers, java.lang.String trueString, java.lang.String falseString, java.lang.Boolean polarity)
           
<T extends StructuralFeatureCS>
T
refreshStructuralFeature(java.lang.Class<T> csClass, org.eclipse.emf.ecore.EClass csEClass, Property object)
           
<T extends TypedElementCS>
T
refreshTypedElement(java.lang.Class<T> csClass, org.eclipse.emf.ecore.EClass csEClass, TypedElement object)
           
<T extends TypedElementCS>
T
refreshTypedMultiplicityElement(java.lang.Class<T> csClass, org.eclipse.emf.ecore.EClass csEClass, TypedMultiplicityElement object)
           
 Class setScope(Class object)
           
 void update(java.util.Collection<? extends org.eclipse.emf.ecore.resource.Resource> csResources)
          Sequence the update passes to make the pivot match the CS.
<T extends ElementCS>
T
visitDeclaration(java.lang.Class<T> csClass, org.eclipse.emf.ecore.EObject eObject)
           
<T extends ElementCS,V extends org.eclipse.emf.ecore.EObject>
java.util.List<T>
visitDeclarationAsList(java.lang.Class<T> csClass, V eObject)
           
<T extends ElementCS,V extends org.eclipse.emf.ecore.EObject>
java.util.List<T>
visitDeclarations(java.lang.Class<T> csClass, java.util.List<V> eObjects, AbstractConversion.Predicate<V> predicate)
           
<T extends ElementCS>
T
visitReference(java.lang.Class<T> csClass, org.eclipse.emf.ecore.EObject eObject)
           
<T extends ElementCS,V extends org.eclipse.emf.ecore.EObject>
java.util.List<T>
visitReferences(java.lang.Class<T> csClass, java.util.List<? extends V> eObjects, AbstractConversion.Predicate<V> predicate)
           
 
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

converter

@NonNull
protected final Pivot2CS converter

defaultDeclarationVisitor

@NonNull
protected final BaseDeclarationVisitor defaultDeclarationVisitor

defaultReferenceVisitor

@NonNull
protected final BaseReferenceVisitor defaultReferenceVisitor
Constructor Detail

Pivot2CSConversion

public Pivot2CSConversion(@NonNull
                          Pivot2CS converter)
Method Detail

addBooleanQualifier

protected void addBooleanQualifier(@NonNull
                                   java.util.List<java.lang.String> qualifiers,
                                   @NonNull
                                   DetailCS csDetail,
                                   @NonNull
                                   java.lang.String csString)

createImports

protected void createImports(@NonNull
                             org.eclipse.emf.ecore.resource.Resource csResource,
                             @NonNull
                             java.util.Map<Namespace,java.util.List<java.lang.String>> importedNamespaces)

getDeclarationVisitor

@Nullable
public BaseDeclarationVisitor getDeclarationVisitor(@NonNull
                                                             org.eclipse.emf.ecore.EClass eClass)

getReferenceVisitor

@Nullable
public BaseReferenceVisitor getReferenceVisitor(@NonNull
                                                         org.eclipse.emf.ecore.EClass eClass)

getScope

public Class getScope()

getTemplateBindings

protected java.util.List<TemplateBindingCS> getTemplateBindings(ElementCS csElement)

importNamespace

public void importNamespace(@NonNull
                            Namespace importNamespace,
                            @Nullable
                            java.lang.String alias)

refreshClassifier

protected <T extends ClassifierCS> T refreshClassifier(@NonNull
                                                       java.lang.Class<T> csClass,
                                                       org.eclipse.emf.ecore.EClass csEClass,
                                                       @NonNull
                                                       Type object)

refreshElement

public <T extends ModelElementCS> T refreshElement(@NonNull
                                                   java.lang.Class<T> csClass,
                                                   org.eclipse.emf.ecore.EClass csEClass,
                                                   @NonNull
                                                   Element object)

refreshNamedElement

public <T extends NamedElementCS> T refreshNamedElement(@NonNull
                                                        java.lang.Class<T> csClass,
                                                        org.eclipse.emf.ecore.EClass csEClass,
                                                        @NonNull
                                                        NamedElement object)

refreshPathName

public void refreshPathName(@NonNull
                            PathNameCS csPathName,
                            @NonNull
                            Element element,
                            @Nullable
                            Namespace scope)
Assign a sequence of one or more path elements to csPathName that identify element with respect to scope.
For example A::B::C::D::E with respect to A::B::C::X::Y is D::E.
Validation is performed to check that the shortened name resolves to the same element.
For example if there is also an A::B::C::X::D::E, the scope is shortened to A::B so that the result is C::D::E.


refreshQualifiers

public void refreshQualifiers(java.util.List<java.lang.String> qualifiers,
                              java.lang.String string,
                              boolean polarity)

refreshQualifiers

public void refreshQualifiers(java.util.List<java.lang.String> qualifiers,
                              java.lang.String trueString,
                              java.lang.String falseString,
                              java.lang.Boolean polarity)

refreshStructuralFeature

public <T extends StructuralFeatureCS> T refreshStructuralFeature(@NonNull
                                                                  java.lang.Class<T> csClass,
                                                                  org.eclipse.emf.ecore.EClass csEClass,
                                                                  @NonNull
                                                                  Property object)

refreshTypedElement

public <T extends TypedElementCS> T refreshTypedElement(@NonNull
                                                        java.lang.Class<T> csClass,
                                                        org.eclipse.emf.ecore.EClass csEClass,
                                                        @NonNull
                                                        TypedElement object)

refreshTypedMultiplicityElement

public <T extends TypedElementCS> T refreshTypedMultiplicityElement(@NonNull
                                                                    java.lang.Class<T> csClass,
                                                                    org.eclipse.emf.ecore.EClass csEClass,
                                                                    @NonNull
                                                                    TypedMultiplicityElement object)

setScope

public Class setScope(Class object)

update

public void update(@NonNull
                   java.util.Collection<? extends org.eclipse.emf.ecore.resource.Resource> csResources)
Sequence the update passes to make the pivot match the CS.

Parameters:
csResources -

visitDeclaration

@Nullable
public <T extends ElementCS> T visitDeclaration(@NonNull
                                                         java.lang.Class<T> csClass,
                                                         @Nullable
                                                         org.eclipse.emf.ecore.EObject eObject)

visitDeclarationAsList

@Nullable
public <T extends ElementCS,V extends org.eclipse.emf.ecore.EObject> java.util.List<T> visitDeclarationAsList(@NonNull
                                                                                                                       java.lang.Class<T> csClass,
                                                                                                                       @Nullable
                                                                                                                       V eObject)

visitDeclarations

@NonNull
public <T extends ElementCS,V extends org.eclipse.emf.ecore.EObject> java.util.List<T> visitDeclarations(@NonNull
                                                                                                                 java.lang.Class<T> csClass,
                                                                                                                 java.util.List<V> eObjects,
                                                                                                                 @Nullable
                                                                                                                 AbstractConversion.Predicate<V> predicate)

visitReference

@Nullable
public <T extends ElementCS> T visitReference(@NonNull
                                                       java.lang.Class<T> csClass,
                                                       @NonNull
                                                       org.eclipse.emf.ecore.EObject eObject)

visitReferences

@NonNull
public <T extends ElementCS,V extends org.eclipse.emf.ecore.EObject> java.util.List<T> visitReferences(@NonNull
                                                                                                               java.lang.Class<T> csClass,
                                                                                                               java.util.List<? extends V> eObjects,
                                                                                                               @Nullable
                                                                                                               AbstractConversion.Predicate<V> predicate)