public class IdentityNavigationStep extends AbstractNavigationStep
AbstractNavigationStep.navigate(Set, TracebackCache, Notification)
shall be
employed, such as for an oclAsType method call.
When the source and target type have no common elements in the reflexive subclass inheritance trees,
this means that the step will always return an empty set. This property is analyzed during the construction
of this step object and cached in the AbstractNavigationStep.alwaysEmpty
field. If true, this makes this
step absolute
, and AbstractNavigationStep.isAlwaysEmpty()
will return true.
Constructor and Description |
---|
IdentityNavigationStep(org.eclipse.emf.ecore.EClass sourceType,
org.eclipse.emf.ecore.EClass targetType,
OCLExpression oclExpression) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
contentToString(java.util.Map<NavigationStep,java.lang.Integer> visited,
int indent) |
boolean |
isAbsolute()
By default, navigation steps depend on the object set to which they are applied.
|
protected java.util.Set<AnnotatedEObject> |
navigate(AnnotatedEObject fromObject,
TracebackCache cache,
org.eclipse.emf.common.notify.Notification changeEvent) |
addAlwaysEmptyChangeListener, addEnteringScopes, addExpressionForWhichThisIsNavigationStep, addHashCodeChangeListener, addLeavingScopes, addSourceTypeChangeListener, addTargetTypeChangeListener, annotateEObject, distinctSize, distinctSize, doesSourceTypeMatch, fireAfterHashCodeChange, fireBeforeHashCodeChange, getDebugInfo, getEnteringScopes, getId, getLeavingScopes, getNavigateCounter, getResultObjectsCounter, getSemanticIdentity, getSourceType, getTargetType, haveIntersectingSubclassTree, incrementNavigateCounter, isAlwaysEmpty, navigate, newTokenForFiringHashCodeChangeEvent, setAlwaysEmpty, size, size, toString, toString
public IdentityNavigationStep(org.eclipse.emf.ecore.EClass sourceType, org.eclipse.emf.ecore.EClass targetType, OCLExpression oclExpression)
protected java.util.Set<AnnotatedEObject> navigate(AnnotatedEObject fromObject, TracebackCache cache, org.eclipse.emf.common.notify.Notification changeEvent)
navigate
in class AbstractNavigationStep
public boolean isAbsolute()
AbstractNavigationStep
isAbsolute
in interface NavigationStep
isAbsolute
in class AbstractNavigationStep
public java.lang.String contentToString(java.util.Map<NavigationStep,java.lang.Integer> visited, int indent)
contentToString
in class AbstractNavigationStep