org.eclipse.ocl.examples.pivot.utilities
Class AS2XMIidVisitor

java.lang.Object
  extended by org.eclipse.ocl.examples.pivot.util.AbstractVisitor<R,C>
      extended by org.eclipse.ocl.examples.pivot.util.AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>
          extended by org.eclipse.ocl.examples.pivot.utilities.AS2XMIidVisitor
All Implemented Interfaces:
Visitor<java.lang.Boolean>
Direct Known Subclasses:
CompleteOCLAS2XMIidVisitor

public class AS2XMIidVisitor
extends AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

The AS2XMIidVisitor generates an xmi:id for an AS element. Using one of three policies.

null - no xmi:id generated

false - xmi:id generated/reuses UUID

true - xmi:id generated/reuses friendly name

Simple elements such as Package/Type/Property get a dot-separated hierarchical name.

Operations get a dot-separated hierarchical name suffixed by dot-dot-separated argument types.

Internally referenceable elements such as TemplateSignature get a UUID, reusing any xmi:id provided in the context Moniker to XMIId Map.


Field Summary
static java.lang.String ACCUMULATOR_PREFIX
           
static java.lang.String BODYCONDITION_PREFIX
           
static java.lang.String FRAGMENT_SEPARATOR
           
static java.lang.String INVARIANT_PREFIX
           
static java.lang.String ITERATION_PREFIX
           
static java.lang.String ITERATOR_PREFIX
           
static java.lang.String NULL_MARKER
           
static java.lang.String OPERATION_PARAMETER_SEPARATOR
           
static java.lang.String OPERATION_PREFIX
           
static int OVERFLOW_LIMIT
           
static java.lang.String OVERFLOW_MARKER
           
static java.lang.String PACKAGE_PREFIX
           
static java.lang.String PARAMETER_PREFIX
           
static java.lang.String POSTCONDITION_PREFIX
           
static java.lang.String PRECEDENCE_PREFIX
           
static java.lang.String PRECONDITION_PREFIX
           
static java.lang.String PROPERTY_PREFIX
           
protected  java.lang.StringBuilder s
           
static java.lang.String SCOPE_SEPARATOR
           
static java.lang.String TEMPLATE_PARAMETER_PREFIX
           
static java.lang.String TEMPLATE_PARAMETER_SEPARATOR
           
static java.lang.String TEMPLATE_SIGNATURE_PREFIX
           
static java.lang.String TYPE_PREFIX
           
 
Fields inherited from class org.eclipse.ocl.examples.pivot.util.AbstractVisitor
context
 
Constructor Summary
AS2XMIidVisitor(AS2XMIid context)
           
 
Method Summary
protected  void appendName(java.lang.String name)
           
protected  void appendOperation(Operation object)
           
protected  void appendParent(NamedElement element)
           
protected  void appendType(Type type)
           
 java.lang.String getID(Element element, boolean internalUUIDs)
           
 java.lang.String toString()
           
 java.lang.Boolean visitClass(Class object)
           
 java.lang.Boolean visitCollectionType(CollectionType object)
           
 java.lang.Boolean visitConstraint(Constraint object)
           
 java.lang.Boolean visitElement(Element object)
           
 java.lang.Boolean visiting(Visitable visitable)
          Return the result of visiting a visitable for which no more specific pivot type method is available.
 java.lang.Boolean visitIteration(Iteration object)
           
 java.lang.Boolean visitLambdaType(LambdaType object)
           
 java.lang.Boolean visitMetaclass(Metaclass<?> object)
           
 java.lang.Boolean visitOperation(Operation object)
           
 java.lang.Boolean visitPackage(Package object)
           
 java.lang.Boolean visitParameter(Parameter object)
           
 java.lang.Boolean visitPrecedence(Precedence object)
           
 java.lang.Boolean visitPrimitiveType(PrimitiveType object)
           
 java.lang.Boolean visitProperty(Property object)
           
 java.lang.Boolean visitSelfType(SelfType object)
           
 java.lang.Boolean visitTemplateParameter(TemplateParameter object)
           
 java.lang.Boolean visitTemplateSignature(TemplateSignature object)
           
 java.lang.Boolean visitTupleType(TupleType object)
           
 java.lang.Boolean visitTypeTemplateParameter(TypeTemplateParameter object)
           
 java.lang.Boolean visitVariableDeclaration(VariableDeclaration object)
           
 
Methods inherited from class org.eclipse.ocl.examples.pivot.util.AbstractExtendingVisitor
visitAnnotation, visitAnyType, visitAssociationClass, visitAssociationClassCallExp, visitBagType, visitBehavior, visitBooleanLiteralExp, visitCallExp, visitCallOperationAction, visitCollectionItem, visitCollectionLiteralExp, visitCollectionLiteralPart, visitCollectionRange, visitComment, visitConnectionPointReference, visitConstructorExp, visitConstructorPart, visitDataType, visitDetail, visitDynamicElement, visitDynamicProperty, visitDynamicType, visitElementExtension, visitEnumeration, visitEnumerationLiteral, visitEnumLiteralExp, visitExpressionInOCL, visitFeature, visitFeatureCallExp, visitFinalState, visitIfExp, visitImport, visitIntegerLiteralExp, visitInvalidLiteralExp, visitInvalidType, visitIterateExp, visitIteratorExp, visitLetExp, visitLibrary, visitLiteralExp, visitLoopExp, visitMessageExp, visitMessageType, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNullLiteralExp, visitNumericLiteralExp, visitOCLExpression, visitOpaqueExpression, visitOperationCallExp, visitOperationTemplateParameter, visitOppositePropertyCallExp, visitOrderedSetType, visitPackageableElement, visitParameterableElement, visitPrimitiveLiteralExp, visitProfile, visitProfileApplication, visitPropertyCallExp, visitPseudostate, visitRealLiteralExp, visitRegion, visitRoot, visitSendSignalAction, visitSequenceType, visitSetType, visitSignal, visitState, visitStateExp, visitStateMachine, visitStereotype, visitStringLiteralExp, visitTemplateableElement, visitTemplateBinding, visitTemplateParameterSubstitution, visitTemplateParameterType, visitTransition, visitTrigger, visitTupleLiteralExp, visitTupleLiteralPart, visitType, visitTypedElement, visitTypedMultiplicityElement, visitTypeExp, visitTypeExtension, visitUnlimitedNaturalLiteralExp, visitUnspecifiedType, visitUnspecifiedValueExp, visitValueSpecification, visitVariable, visitVariableExp, visitVertex, visitVoidType
 
Methods inherited from class org.eclipse.ocl.examples.pivot.util.AbstractVisitor
getAdapter, safeVisit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.ocl.examples.pivot.util.Visitor
getAdapter
 

Field Detail

OVERFLOW_LIMIT

public static final int OVERFLOW_LIMIT
See Also:
Constant Field Values

OVERFLOW_MARKER

@NonNull
public static final java.lang.String OVERFLOW_MARKER
See Also:
Constant Field Values

NULL_MARKER

@NonNull
public static final java.lang.String NULL_MARKER
See Also:
Constant Field Values

FRAGMENT_SEPARATOR

@NonNull
public static final java.lang.String FRAGMENT_SEPARATOR
See Also:
Constant Field Values

ACCUMULATOR_PREFIX

@NonNull
public static final java.lang.String ACCUMULATOR_PREFIX
See Also:
Constant Field Values

BODYCONDITION_PREFIX

@NonNull
public static final java.lang.String BODYCONDITION_PREFIX
See Also:
Constant Field Values

INVARIANT_PREFIX

@NonNull
public static final java.lang.String INVARIANT_PREFIX
See Also:
Constant Field Values

ITERATION_PREFIX

@NonNull
public static final java.lang.String ITERATION_PREFIX
See Also:
Constant Field Values

ITERATOR_PREFIX

@NonNull
public static final java.lang.String ITERATOR_PREFIX
See Also:
Constant Field Values

OPERATION_PREFIX

@NonNull
public static final java.lang.String OPERATION_PREFIX
See Also:
Constant Field Values

PARAMETER_PREFIX

@NonNull
public static final java.lang.String PARAMETER_PREFIX
See Also:
Constant Field Values

PACKAGE_PREFIX

@NonNull
public static final java.lang.String PACKAGE_PREFIX
See Also:
Constant Field Values

POSTCONDITION_PREFIX

@NonNull
public static final java.lang.String POSTCONDITION_PREFIX
See Also:
Constant Field Values

PRECONDITION_PREFIX

@NonNull
public static final java.lang.String PRECONDITION_PREFIX
See Also:
Constant Field Values

PRECEDENCE_PREFIX

@NonNull
public static final java.lang.String PRECEDENCE_PREFIX
See Also:
Constant Field Values

PROPERTY_PREFIX

@NonNull
public static final java.lang.String PROPERTY_PREFIX
See Also:
Constant Field Values

TEMPLATE_PARAMETER_PREFIX

@NonNull
public static final java.lang.String TEMPLATE_PARAMETER_PREFIX
See Also:
Constant Field Values

TEMPLATE_SIGNATURE_PREFIX

@NonNull
public static final java.lang.String TEMPLATE_SIGNATURE_PREFIX
See Also:
Constant Field Values

TYPE_PREFIX

@NonNull
public static final java.lang.String TYPE_PREFIX
See Also:
Constant Field Values

OPERATION_PARAMETER_SEPARATOR

@NonNull
public static final java.lang.String OPERATION_PARAMETER_SEPARATOR
See Also:
Constant Field Values

SCOPE_SEPARATOR

@NonNull
public static final java.lang.String SCOPE_SEPARATOR
See Also:
Constant Field Values

TEMPLATE_PARAMETER_SEPARATOR

@NonNull
public static final java.lang.String TEMPLATE_PARAMETER_SEPARATOR
See Also:
Constant Field Values

s

@NonNull
protected final java.lang.StringBuilder s
Constructor Detail

AS2XMIidVisitor

public AS2XMIidVisitor(@NonNull
                       AS2XMIid context)
Method Detail

appendName

protected void appendName(@Nullable
                          java.lang.String name)

appendOperation

protected void appendOperation(Operation object)

appendParent

protected void appendParent(@Nullable
                            NamedElement element)

appendType

protected void appendType(@Nullable
                          Type type)

getID

@Nullable
public java.lang.String getID(@NonNull
                                       Element element,
                                       boolean internalUUIDs)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

visitClass

public java.lang.Boolean visitClass(@NonNull
                                    Class object)
Specified by:
visitClass in interface Visitor<java.lang.Boolean>
Overrides:
visitClass in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitCollectionType

@Nullable
public java.lang.Boolean visitCollectionType(@NonNull
                                                      CollectionType object)
Specified by:
visitCollectionType in interface Visitor<java.lang.Boolean>
Overrides:
visitCollectionType in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitConstraint

@Nullable
public java.lang.Boolean visitConstraint(@NonNull
                                                  Constraint object)
Specified by:
visitConstraint in interface Visitor<java.lang.Boolean>
Overrides:
visitConstraint in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitElement

@Nullable
public java.lang.Boolean visitElement(@NonNull
                                               Element object)
Specified by:
visitElement in interface Visitor<java.lang.Boolean>
Overrides:
visitElement in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitLambdaType

@Nullable
public java.lang.Boolean visitLambdaType(@NonNull
                                                  LambdaType object)
Specified by:
visitLambdaType in interface Visitor<java.lang.Boolean>
Overrides:
visitLambdaType in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitIteration

public java.lang.Boolean visitIteration(@NonNull
                                        Iteration object)
Specified by:
visitIteration in interface Visitor<java.lang.Boolean>
Overrides:
visitIteration in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitMetaclass

@Nullable
public java.lang.Boolean visitMetaclass(@NonNull
                                                 Metaclass<?> object)
Specified by:
visitMetaclass in interface Visitor<java.lang.Boolean>
Overrides:
visitMetaclass in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitOperation

@Nullable
public java.lang.Boolean visitOperation(@NonNull
                                                 Operation object)
Specified by:
visitOperation in interface Visitor<java.lang.Boolean>
Overrides:
visitOperation in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitPackage

@Nullable
public java.lang.Boolean visitPackage(@NonNull
                                               Package object)
Specified by:
visitPackage in interface Visitor<java.lang.Boolean>
Overrides:
visitPackage in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitParameter

@Nullable
public java.lang.Boolean visitParameter(@NonNull
                                                 Parameter object)
Specified by:
visitParameter in interface Visitor<java.lang.Boolean>
Overrides:
visitParameter in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitPrecedence

@Nullable
public java.lang.Boolean visitPrecedence(@NonNull
                                                  Precedence object)
Specified by:
visitPrecedence in interface Visitor<java.lang.Boolean>
Overrides:
visitPrecedence in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitPrimitiveType

@Nullable
public java.lang.Boolean visitPrimitiveType(@NonNull
                                                     PrimitiveType object)
Specified by:
visitPrimitiveType in interface Visitor<java.lang.Boolean>
Overrides:
visitPrimitiveType in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitProperty

@Nullable
public java.lang.Boolean visitProperty(@NonNull
                                                Property object)
Specified by:
visitProperty in interface Visitor<java.lang.Boolean>
Overrides:
visitProperty in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitSelfType

@Nullable
public java.lang.Boolean visitSelfType(@NonNull
                                                SelfType object)
Specified by:
visitSelfType in interface Visitor<java.lang.Boolean>
Overrides:
visitSelfType in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitTemplateParameter

@Nullable
public java.lang.Boolean visitTemplateParameter(@NonNull
                                                         TemplateParameter object)
Specified by:
visitTemplateParameter in interface Visitor<java.lang.Boolean>
Overrides:
visitTemplateParameter in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitTemplateSignature

@Nullable
public java.lang.Boolean visitTemplateSignature(@NonNull
                                                         TemplateSignature object)
Specified by:
visitTemplateSignature in interface Visitor<java.lang.Boolean>
Overrides:
visitTemplateSignature in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitTupleType

@Nullable
public java.lang.Boolean visitTupleType(@NonNull
                                                 TupleType object)
Specified by:
visitTupleType in interface Visitor<java.lang.Boolean>
Overrides:
visitTupleType in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitTypeTemplateParameter

@Nullable
public java.lang.Boolean visitTypeTemplateParameter(@NonNull
                                                             TypeTemplateParameter object)
Specified by:
visitTypeTemplateParameter in interface Visitor<java.lang.Boolean>
Overrides:
visitTypeTemplateParameter in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visitVariableDeclaration

@Nullable
public java.lang.Boolean visitVariableDeclaration(@NonNull
                                                           VariableDeclaration object)
Specified by:
visitVariableDeclaration in interface Visitor<java.lang.Boolean>
Overrides:
visitVariableDeclaration in class AbstractExtendingVisitor<java.lang.Boolean,AS2XMIid>

visiting

@Nullable
public java.lang.Boolean visiting(@NonNull
                                           Visitable visitable)
Description copied from interface: Visitor
Return the result of visiting a visitable for which no more specific pivot type method is available.