|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.emf.ecore.util.Switch<T> org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String> org.eclipse.ocl.examples.pivot.uml.UMLXMIID
public class UMLXMIID
Generate a distinct stable xmi:id for a UML model element.
Disclaimer. This class is exercised to support conversion of the UML source of the Pivot. It is not sufficiently developed for more general use.
The name generation principle is to produce dot-separated names from NamedElements on the composition hierarchy and dot-separate riles with indexes for references and unnamed nodes.
Composed names have a distinct capitalized first letter such as P for package to separate conflicting child namespaces.
Other names have a lower case first letter and may use the shaortNames mapping to save space. A numeric suffix disambiguates position-wise amongst many children.
Field Summary | |
---|---|
protected org.eclipse.emf.ecore.util.EcoreSwitch<java.lang.String> |
ecoreSwitch
|
protected org.eclipse.emf.ecore.xmi.XMLResource |
resource
|
protected static java.util.Map<java.lang.String,java.lang.String> |
shortNames
|
Fields inherited from class org.eclipse.uml2.uml.util.UMLSwitch |
---|
modelPackage |
Constructor Summary | |
---|---|
UMLXMIID(org.eclipse.emf.ecore.xmi.XMLResource resource)
|
Method Summary | |
---|---|
protected void |
appendNameHierarchy(java.lang.StringBuilder s,
java.lang.String prefix,
org.eclipse.uml2.uml.NamedElement object)
|
protected void |
appendPositionHierarchy(java.lang.StringBuilder s,
org.eclipse.emf.ecore.EObject object)
|
void |
assign()
|
java.lang.String |
caseAssociation(org.eclipse.uml2.uml.Association object)
|
java.lang.String |
caseComment(org.eclipse.uml2.uml.Comment object)
|
java.lang.String |
caseEnumerationLiteral(org.eclipse.uml2.uml.EnumerationLiteral object)
|
java.lang.String |
caseOperation(org.eclipse.uml2.uml.Operation object)
|
java.lang.String |
casePackage(org.eclipse.uml2.uml.Package object)
|
java.lang.String |
caseParameter(org.eclipse.uml2.uml.Parameter object)
|
java.lang.String |
caseProperty(org.eclipse.uml2.uml.Property object)
|
java.lang.String |
caseRelationship(org.eclipse.uml2.uml.Relationship object)
|
java.lang.String |
caseTemplateParameter(org.eclipse.uml2.uml.TemplateParameter object)
|
java.lang.String |
caseTemplateSignature(org.eclipse.uml2.uml.TemplateSignature object)
|
java.lang.String |
caseType(org.eclipse.uml2.uml.Type object)
|
java.lang.String |
caseValueSpecification(org.eclipse.uml2.uml.ValueSpecification object)
|
java.lang.String |
defaultCase(org.eclipse.emf.ecore.EObject object)
|
protected java.lang.String |
pseudoCaseDynamicEObjectImpl(org.eclipse.emf.ecore.impl.DynamicEObjectImpl object)
|
Methods inherited from class org.eclipse.uml2.uml.util.UMLSwitch |
---|
caseAbstraction, caseAcceptCallAction, caseAcceptEventAction, caseAction, caseActionExecutionSpecification, caseActionInputPin, caseActivity, caseActivityContent, caseActivityEdge, caseActivityFinalNode, caseActivityGroup, caseActivityNode, caseActivityParameterNode, caseActivityPartition, caseActor, caseAddStructuralFeatureValueAction, caseAddVariableValueAction, caseAnyReceiveEvent, caseArtifact, caseAssociationClass, caseBehavior, caseBehavioralFeature, caseBehavioredClassifier, caseBehaviorExecutionSpecification, caseBroadcastSignalAction, caseCallAction, caseCallBehaviorAction, caseCallEvent, caseCallOperationAction, caseCentralBufferNode, caseChangeEvent, caseClass, caseClassifier, caseClassifierTemplateParameter, caseClause, caseClearAssociationAction, caseClearStructuralFeatureAction, caseClearVariableAction, caseCollaboration, caseCollaborationUse, caseCombinedFragment, caseCommunicationPath, caseComponent, caseComponentRealization, caseConditionalNode, caseConnectableElement, caseConnectableElementTemplateParameter, caseConnectionPointReference, caseConnector, caseConnectorEnd, caseConsiderIgnoreFragment, caseConstraint, caseContinuation, caseControlFlow, caseControlNode, caseCreateLinkAction, caseCreateLinkObjectAction, caseCreateObjectAction, caseDataStoreNode, caseDataType, caseDecisionNode, caseDependency, caseDeployedArtifact, caseDeployment, caseDeploymentSpecification, caseDeploymentTarget, caseDestroyLinkAction, caseDestroyObjectAction, caseDestructionOccurrenceSpecification, caseDevice, caseDirectedRelationship, caseDuration, caseDurationConstraint, caseDurationInterval, caseDurationObservation, caseElement, caseElementImport, caseEModelElement, caseEncapsulatedClassifier, caseEnumeration, caseEvent, caseExceptionHandler, caseExecutableNode, caseExecutionEnvironment, caseExecutionOccurrenceSpecification, caseExecutionSpecification, caseExpansionNode, caseExpansionRegion, caseExpression, caseExtend, caseExtension, caseExtensionEnd, caseExtensionPoint, caseFeature, caseFinalNode, caseFinalState, caseFlowFinalNode, caseForkNode, caseFunctionBehavior, caseGate, caseGeneralization, caseGeneralizationSet, caseGeneralOrdering, caseImage, caseInclude, caseInformationFlow, caseInformationItem, caseInitialNode, caseInputPin, caseInstanceSpecification, caseInstanceValue, caseInteraction, caseInteractionConstraint, caseInteractionFragment, caseInteractionOperand, caseInteractionUse, caseInterface, caseInterfaceRealization, caseInterruptibleActivityRegion, caseInterval, caseIntervalConstraint, caseInvocationAction, caseJoinNode, caseLifeline, caseLinkAction, caseLinkEndCreationData, caseLinkEndData, caseLinkEndDestructionData, caseLiteralBoolean, caseLiteralInteger, caseLiteralNull, caseLiteralReal, caseLiteralSpecification, caseLiteralString, caseLiteralUnlimitedNatural, caseLoopNode, caseManifestation, caseMergeNode, caseMessage, caseMessageEnd, caseMessageEvent, caseMessageOccurrenceSpecification, caseModel, caseMultiplicityElement, caseNamedElement, caseNamespace, caseNode, caseObjectFlow, caseObjectNode, caseObservation, caseOccurrenceSpecification, caseOpaqueAction, caseOpaqueBehavior, caseOpaqueExpression, caseOperationTemplateParameter, caseOutputPin, casePackageableElement, casePackageImport, casePackageMerge, caseParameterableElement, caseParameterSet, casePartDecomposition, casePin, casePort, casePrimitiveType, caseProfile, caseProfileApplication, caseProtocolConformance, caseProtocolStateMachine, caseProtocolTransition, casePseudostate, caseQualifierValue, caseRaiseExceptionAction, caseReadExtentAction, caseReadIsClassifiedObjectAction, caseReadLinkAction, caseReadLinkObjectEndAction, caseReadLinkObjectEndQualifierAction, caseReadSelfAction, caseReadStructuralFeatureAction, caseReadVariableAction, caseRealization, caseReception, caseReclassifyObjectAction, caseRedefinableElement, caseRedefinableTemplateSignature, caseReduceAction, caseRegion, caseRemoveStructuralFeatureValueAction, caseRemoveVariableValueAction, caseReplyAction, caseSendObjectAction, caseSendSignalAction, caseSequenceNode, caseSignal, caseSignalEvent, caseSlot, caseStartClassifierBehaviorAction, caseStartObjectBehaviorAction, caseState, caseStateInvariant, caseStateMachine, caseStereotype, caseStringExpression, caseStructuralFeature, caseStructuralFeatureAction, caseStructuredActivityNode, caseStructuredClassifier, caseSubstitution, caseTemplateableElement, caseTemplateBinding, caseTemplateParameterSubstitution, caseTestIdentityAction, caseTimeConstraint, caseTimeEvent, caseTimeExpression, caseTimeInterval, caseTimeObservation, caseTransition, caseTrigger, caseTypedElement, caseUnmarshallAction, caseUsage, caseUseCase, caseValuePin, caseValueSpecificationAction, caseVariable, caseVariableAction, caseVertex, caseWriteLinkAction, caseWriteStructuralFeatureAction, caseWriteVariableAction, doSwitch, isSwitchFor |
Methods inherited from class org.eclipse.emf.ecore.util.Switch |
---|
doSwitch, doSwitch |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
@NonNull protected static final java.util.Map<java.lang.String,java.lang.String> shortNames
protected org.eclipse.emf.ecore.util.EcoreSwitch<java.lang.String> ecoreSwitch
@NonNull protected final org.eclipse.emf.ecore.xmi.XMLResource resource
Constructor Detail |
---|
public UMLXMIID(@NonNull org.eclipse.emf.ecore.xmi.XMLResource resource)
Method Detail |
---|
protected void appendNameHierarchy(@NonNull java.lang.StringBuilder s, @NonNull java.lang.String prefix, @NonNull org.eclipse.uml2.uml.NamedElement object)
protected void appendPositionHierarchy(@NonNull java.lang.StringBuilder s, @NonNull org.eclipse.emf.ecore.EObject object)
public void assign()
public java.lang.String caseAssociation(org.eclipse.uml2.uml.Association object)
caseAssociation
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
public java.lang.String caseComment(org.eclipse.uml2.uml.Comment object)
caseComment
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
public java.lang.String caseEnumerationLiteral(org.eclipse.uml2.uml.EnumerationLiteral object)
caseEnumerationLiteral
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
public java.lang.String caseOperation(org.eclipse.uml2.uml.Operation object)
caseOperation
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
public java.lang.String casePackage(org.eclipse.uml2.uml.Package object)
casePackage
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
public java.lang.String caseParameter(org.eclipse.uml2.uml.Parameter object)
caseParameter
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
public java.lang.String caseProperty(org.eclipse.uml2.uml.Property object)
caseProperty
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
public java.lang.String caseRelationship(org.eclipse.uml2.uml.Relationship object)
caseRelationship
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
public java.lang.String caseTemplateParameter(org.eclipse.uml2.uml.TemplateParameter object)
caseTemplateParameter
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
public java.lang.String caseTemplateSignature(org.eclipse.uml2.uml.TemplateSignature object)
caseTemplateSignature
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
public java.lang.String caseType(org.eclipse.uml2.uml.Type object)
caseType
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
public java.lang.String caseValueSpecification(org.eclipse.uml2.uml.ValueSpecification object)
caseValueSpecification
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
public java.lang.String defaultCase(org.eclipse.emf.ecore.EObject object)
defaultCase
in class org.eclipse.uml2.uml.util.UMLSwitch<java.lang.String>
protected java.lang.String pseudoCaseDynamicEObjectImpl(@NonNull org.eclipse.emf.ecore.impl.DynamicEObjectImpl object)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |