Defines a visitor that visits each unique element only once.
Children of already visited assemblies, referred elements of already visited instances, and already visited parts are not visited again.
Already visited instances and assemblies are still entered and left with the reference visitor.
Uses the associated reference visitor to perform the actual visit logic.
new ModelElementUniqueVisitor(
refVisitor):ModelElementUniqueVisitor
Creates a visitor that delegates the actual visit logic to a reference visitor.
Reference visitor that defines the actual logic invoked for model elements.
ModelElementUniqueVisitor
visitAssemblyEnter(
assembly):boolean
Enters an assembly.
Invokes visitAssemblyEnter() of the reference visitor if assembly has not already been visited. Children of an already visited assembly are not visited again.
Visited assembly.
boolean
ModelElementVisitor.visitAssemblyEnter
visitAssemblyLeave(
assembly):void
Leaves an assembly.
Invokes visitAssemblyLeave() of the reference visitor if assembly is being visited for the first time.
Visited assembly.
void
ModelElementVisitor.visitAssemblyLeave
visitInstanceEnter(
instance):boolean
Enters an instance.
Invokes visitInstanceEnter() of the reference visitor if instance has not already been visited. The referred element of an already visited instance is not visited again.
Visited instance.
boolean
ModelElementVisitor.visitInstanceEnter
visitInstanceLeave(
instance):void
Leaves an instance.
Invokes visitInstanceLeave() of the reference visitor if instance is being visited for the first time.
Visited instance.
void
ModelElementVisitor.visitInstanceLeave
visitPart(
part):void
Invokes visitPart() of the reference visitor if part has not already been visited.
Visited part.
void