org.eclipse.ocl.examples.pivot.util
Class AbstractWrappingVisitor<R,C,D extends Visitor<R>,P>
java.lang.Object
org.eclipse.ocl.examples.pivot.util.AbstractVisitor<R,C>
org.eclipse.ocl.examples.pivot.util.AbstractWrappingVisitor<R,C,D,P>
- All Implemented Interfaces:
- Visitor<R>
- Direct Known Subclasses:
- OCLVMEvaluationVisitor
public abstract class AbstractWrappingVisitor<R,C,D extends Visitor<R>,P>
- extends AbstractVisitor<R,C>
- implements Visitor<R>
An AbstractWrappingVisitor delegates all visits wrapping the delegation in a call to a preVisit function and a postVisit function.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.eclipse.ocl.examples.pivot.util.Visitor |
getAdapter |
delegate
protected final D extends Visitor<R> delegate
AbstractWrappingVisitor
protected AbstractWrappingVisitor(@NonNull
D delegate,
@NonNull
C context)
badVisit
@Nullable
protected R badVisit(@NonNull
Visitable visitable,
@Nullable
P prologue,
@NonNull
java.lang.Throwable e)
throws java.lang.RuntimeException
- Intercept an exception thrown by the delegated visit to perform some post-functionality that may use the visitable object,
the result of preVisit and the thrown exception to determine the overall wrapped result.
- Returns:
- a rethrown RuntimeException or a RuntimeException-wrapped non-RuntimeException.
- Throws:
java.lang.RuntimeException
getDelegate
@NonNull
protected D getDelegate()
- Obtains the visitor that I wrap.
- Returns:
- my wrapped visitor
postVisit
@Nullable
protected R postVisit(@NonNull
Visitable visitable,
@Nullable
P prologue,
@Nullable
R result)
- Intercept the result of the delegated visit to perform some post-functionality that may use the visitable object,
the result of preVisit and the result of the delegated visit to determine the overall wrapped result.
- Returns:
- the epilogue result, which defaults to the delegated result.
preVisit
@Nullable
protected P preVisit(@NonNull
Visitable visitable)
- Compute and return some value before performing the delegated visit.
- Returns:
- the prologue result, which defauilts to null.
visiting
@Nullable
public R 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.
- Specified by:
visiting
in interface Visitor<R>
visitAnnotation
@Nullable
public R visitAnnotation(@NonNull
Annotation object)
- Specified by:
visitAnnotation
in interface Visitor<R>
visitAnyType
@Nullable
public R visitAnyType(@NonNull
AnyType object)
- Specified by:
visitAnyType
in interface Visitor<R>
visitAssociationClass
@Nullable
public R visitAssociationClass(@NonNull
AssociationClass object)
- Specified by:
visitAssociationClass
in interface Visitor<R>
visitAssociationClassCallExp
@Nullable
public R visitAssociationClassCallExp(@NonNull
AssociationClassCallExp object)
- Specified by:
visitAssociationClassCallExp
in interface Visitor<R>
visitBagType
@Nullable
public R visitBagType(@NonNull
BagType object)
- Specified by:
visitBagType
in interface Visitor<R>
visitBehavior
@Nullable
public R visitBehavior(@NonNull
Behavior object)
- Specified by:
visitBehavior
in interface Visitor<R>
visitBooleanLiteralExp
@Nullable
public R visitBooleanLiteralExp(@NonNull
BooleanLiteralExp object)
- Specified by:
visitBooleanLiteralExp
in interface Visitor<R>
visitCallExp
@Nullable
public R visitCallExp(@NonNull
CallExp object)
- Specified by:
visitCallExp
in interface Visitor<R>
visitCallOperationAction
@Nullable
public R visitCallOperationAction(@NonNull
CallOperationAction object)
- Specified by:
visitCallOperationAction
in interface Visitor<R>
visitClass
@Nullable
public R visitClass(@NonNull
Class object)
- Specified by:
visitClass
in interface Visitor<R>
visitCollectionItem
@Nullable
public R visitCollectionItem(@NonNull
CollectionItem object)
- Specified by:
visitCollectionItem
in interface Visitor<R>
visitCollectionLiteralExp
@Nullable
public R visitCollectionLiteralExp(@NonNull
CollectionLiteralExp object)
- Specified by:
visitCollectionLiteralExp
in interface Visitor<R>
visitCollectionLiteralPart
@Nullable
public R visitCollectionLiteralPart(@NonNull
CollectionLiteralPart object)
- Specified by:
visitCollectionLiteralPart
in interface Visitor<R>
visitCollectionRange
@Nullable
public R visitCollectionRange(@NonNull
CollectionRange object)
- Specified by:
visitCollectionRange
in interface Visitor<R>
visitCollectionType
@Nullable
public R visitCollectionType(@NonNull
CollectionType object)
- Specified by:
visitCollectionType
in interface Visitor<R>
visitComment
@Nullable
public R visitComment(@NonNull
Comment object)
- Specified by:
visitComment
in interface Visitor<R>
visitConnectionPointReference
@Nullable
public R visitConnectionPointReference(@NonNull
ConnectionPointReference object)
- Specified by:
visitConnectionPointReference
in interface Visitor<R>
visitConstraint
@Nullable
public R visitConstraint(@NonNull
Constraint object)
- Specified by:
visitConstraint
in interface Visitor<R>
visitConstructorExp
@Nullable
public R visitConstructorExp(@NonNull
ConstructorExp object)
- Specified by:
visitConstructorExp
in interface Visitor<R>
visitConstructorPart
@Nullable
public R visitConstructorPart(@NonNull
ConstructorPart object)
- Specified by:
visitConstructorPart
in interface Visitor<R>
visitDataType
@Nullable
public R visitDataType(@NonNull
DataType object)
- Specified by:
visitDataType
in interface Visitor<R>
visitDetail
@Nullable
public R visitDetail(@NonNull
Detail object)
- Specified by:
visitDetail
in interface Visitor<R>
visitDynamicElement
@Nullable
public R visitDynamicElement(@NonNull
DynamicElement object)
- Specified by:
visitDynamicElement
in interface Visitor<R>
visitDynamicProperty
@Nullable
public R visitDynamicProperty(@NonNull
DynamicProperty object)
- Specified by:
visitDynamicProperty
in interface Visitor<R>
visitDynamicType
@Nullable
public R visitDynamicType(@NonNull
DynamicType object)
- Specified by:
visitDynamicType
in interface Visitor<R>
visitElement
@Nullable
public R visitElement(@NonNull
Element object)
- Specified by:
visitElement
in interface Visitor<R>
visitElementExtension
@Nullable
public R visitElementExtension(@NonNull
ElementExtension object)
- Specified by:
visitElementExtension
in interface Visitor<R>
visitEnumLiteralExp
@Nullable
public R visitEnumLiteralExp(@NonNull
EnumLiteralExp object)
- Specified by:
visitEnumLiteralExp
in interface Visitor<R>
visitEnumeration
@Nullable
public R visitEnumeration(@NonNull
Enumeration object)
- Specified by:
visitEnumeration
in interface Visitor<R>
visitEnumerationLiteral
@Nullable
public R visitEnumerationLiteral(@NonNull
EnumerationLiteral object)
- Specified by:
visitEnumerationLiteral
in interface Visitor<R>
visitExpressionInOCL
@Nullable
public R visitExpressionInOCL(@NonNull
ExpressionInOCL object)
- Specified by:
visitExpressionInOCL
in interface Visitor<R>
visitFeature
@Nullable
public R visitFeature(@NonNull
Feature object)
- Specified by:
visitFeature
in interface Visitor<R>
visitFeatureCallExp
@Nullable
public R visitFeatureCallExp(@NonNull
FeatureCallExp object)
- Specified by:
visitFeatureCallExp
in interface Visitor<R>
visitFinalState
@Nullable
public R visitFinalState(@NonNull
FinalState object)
- Specified by:
visitFinalState
in interface Visitor<R>
visitIfExp
@Nullable
public R visitIfExp(@NonNull
IfExp object)
- Specified by:
visitIfExp
in interface Visitor<R>
visitImport
@Nullable
public R visitImport(@NonNull
Import object)
- Specified by:
visitImport
in interface Visitor<R>
visitIntegerLiteralExp
@Nullable
public R visitIntegerLiteralExp(@NonNull
IntegerLiteralExp object)
- Specified by:
visitIntegerLiteralExp
in interface Visitor<R>
visitInvalidLiteralExp
@Nullable
public R visitInvalidLiteralExp(@NonNull
InvalidLiteralExp object)
- Specified by:
visitInvalidLiteralExp
in interface Visitor<R>
visitInvalidType
@Nullable
public R visitInvalidType(@NonNull
InvalidType object)
- Specified by:
visitInvalidType
in interface Visitor<R>
visitIterateExp
@Nullable
public R visitIterateExp(@NonNull
IterateExp object)
- Specified by:
visitIterateExp
in interface Visitor<R>
visitIteration
@Nullable
public R visitIteration(@NonNull
Iteration object)
- Specified by:
visitIteration
in interface Visitor<R>
visitIteratorExp
@Nullable
public R visitIteratorExp(@NonNull
IteratorExp object)
- Specified by:
visitIteratorExp
in interface Visitor<R>
visitLambdaType
@Nullable
public R visitLambdaType(@NonNull
LambdaType object)
- Specified by:
visitLambdaType
in interface Visitor<R>
visitLetExp
@Nullable
public R visitLetExp(@NonNull
LetExp object)
- Specified by:
visitLetExp
in interface Visitor<R>
visitLibrary
@Nullable
public R visitLibrary(@NonNull
Library object)
- Specified by:
visitLibrary
in interface Visitor<R>
visitLiteralExp
@Nullable
public R visitLiteralExp(@NonNull
LiteralExp object)
- Specified by:
visitLiteralExp
in interface Visitor<R>
visitLoopExp
@Nullable
public R visitLoopExp(@NonNull
LoopExp object)
- Specified by:
visitLoopExp
in interface Visitor<R>
visitMessageExp
@Nullable
public R visitMessageExp(@NonNull
MessageExp object)
- Specified by:
visitMessageExp
in interface Visitor<R>
visitMessageType
@Nullable
public R visitMessageType(@NonNull
MessageType object)
- Specified by:
visitMessageType
in interface Visitor<R>
visitMetaclass
@Nullable
public R visitMetaclass(@NonNull
Metaclass<?> object)
- Specified by:
visitMetaclass
in interface Visitor<R>
visitNamedElement
@Nullable
public R visitNamedElement(@NonNull
NamedElement object)
- Specified by:
visitNamedElement
in interface Visitor<R>
visitNamespace
@Nullable
public R visitNamespace(@NonNull
Namespace object)
- Specified by:
visitNamespace
in interface Visitor<R>
visitNavigationCallExp
@Nullable
public R visitNavigationCallExp(@NonNull
NavigationCallExp object)
- Specified by:
visitNavigationCallExp
in interface Visitor<R>
visitNullLiteralExp
@Nullable
public R visitNullLiteralExp(@NonNull
NullLiteralExp object)
- Specified by:
visitNullLiteralExp
in interface Visitor<R>
visitNumericLiteralExp
@Nullable
public R visitNumericLiteralExp(@NonNull
NumericLiteralExp object)
- Specified by:
visitNumericLiteralExp
in interface Visitor<R>
visitOCLExpression
@Nullable
public R visitOCLExpression(@NonNull
OCLExpression object)
- Specified by:
visitOCLExpression
in interface Visitor<R>
visitOpaqueExpression
@Nullable
public R visitOpaqueExpression(@NonNull
OpaqueExpression object)
- Specified by:
visitOpaqueExpression
in interface Visitor<R>
visitOperation
@Nullable
public R visitOperation(@NonNull
Operation object)
- Specified by:
visitOperation
in interface Visitor<R>
visitOperationCallExp
@Nullable
public R visitOperationCallExp(@NonNull
OperationCallExp object)
- Specified by:
visitOperationCallExp
in interface Visitor<R>
visitOperationTemplateParameter
@Nullable
public R visitOperationTemplateParameter(@NonNull
OperationTemplateParameter object)
- Specified by:
visitOperationTemplateParameter
in interface Visitor<R>
visitOppositePropertyCallExp
@Nullable
public R visitOppositePropertyCallExp(@NonNull
OppositePropertyCallExp object)
- Specified by:
visitOppositePropertyCallExp
in interface Visitor<R>
visitOrderedSetType
@Nullable
public R visitOrderedSetType(@NonNull
OrderedSetType object)
- Specified by:
visitOrderedSetType
in interface Visitor<R>
visitPackage
@Nullable
public R visitPackage(@NonNull
Package object)
- Specified by:
visitPackage
in interface Visitor<R>
visitPackageableElement
@Nullable
public R visitPackageableElement(@NonNull
PackageableElement object)
- Specified by:
visitPackageableElement
in interface Visitor<R>
visitParameter
@Nullable
public R visitParameter(@NonNull
Parameter object)
- Specified by:
visitParameter
in interface Visitor<R>
visitParameterableElement
@Nullable
public R visitParameterableElement(@NonNull
ParameterableElement object)
- Specified by:
visitParameterableElement
in interface Visitor<R>
visitPrecedence
@Nullable
public R visitPrecedence(@NonNull
Precedence object)
- Specified by:
visitPrecedence
in interface Visitor<R>
visitPrimitiveLiteralExp
@Nullable
public R visitPrimitiveLiteralExp(@NonNull
PrimitiveLiteralExp object)
- Specified by:
visitPrimitiveLiteralExp
in interface Visitor<R>
visitPrimitiveType
@Nullable
public R visitPrimitiveType(@NonNull
PrimitiveType object)
- Specified by:
visitPrimitiveType
in interface Visitor<R>
visitProfile
@Nullable
public R visitProfile(@NonNull
Profile object)
- Specified by:
visitProfile
in interface Visitor<R>
visitProfileApplication
@Nullable
public R visitProfileApplication(@NonNull
ProfileApplication object)
- Specified by:
visitProfileApplication
in interface Visitor<R>
visitProperty
@Nullable
public R visitProperty(@NonNull
Property object)
- Specified by:
visitProperty
in interface Visitor<R>
visitPropertyCallExp
@Nullable
public R visitPropertyCallExp(@NonNull
PropertyCallExp object)
- Specified by:
visitPropertyCallExp
in interface Visitor<R>
visitPseudostate
@Nullable
public R visitPseudostate(@NonNull
Pseudostate object)
- Specified by:
visitPseudostate
in interface Visitor<R>
visitRealLiteralExp
@Nullable
public R visitRealLiteralExp(@NonNull
RealLiteralExp object)
- Specified by:
visitRealLiteralExp
in interface Visitor<R>
visitRegion
@Nullable
public R visitRegion(@NonNull
Region object)
- Specified by:
visitRegion
in interface Visitor<R>
visitRoot
@Nullable
public R visitRoot(@NonNull
Root object)
- Specified by:
visitRoot
in interface Visitor<R>
visitSelfType
@Nullable
public R visitSelfType(@NonNull
SelfType object)
- Specified by:
visitSelfType
in interface Visitor<R>
visitSendSignalAction
@Nullable
public R visitSendSignalAction(@NonNull
SendSignalAction object)
- Specified by:
visitSendSignalAction
in interface Visitor<R>
visitSequenceType
@Nullable
public R visitSequenceType(@NonNull
SequenceType object)
- Specified by:
visitSequenceType
in interface Visitor<R>
visitSetType
@Nullable
public R visitSetType(@NonNull
SetType object)
- Specified by:
visitSetType
in interface Visitor<R>
visitSignal
@Nullable
public R visitSignal(@NonNull
Signal object)
- Specified by:
visitSignal
in interface Visitor<R>
visitState
@Nullable
public R visitState(@NonNull
State object)
- Specified by:
visitState
in interface Visitor<R>
visitStateExp
@Nullable
public R visitStateExp(@NonNull
StateExp object)
- Specified by:
visitStateExp
in interface Visitor<R>
visitStateMachine
@Nullable
public R visitStateMachine(@NonNull
StateMachine object)
- Specified by:
visitStateMachine
in interface Visitor<R>
visitStereotype
@Nullable
public R visitStereotype(@NonNull
Stereotype object)
- Specified by:
visitStereotype
in interface Visitor<R>
visitStringLiteralExp
@Nullable
public R visitStringLiteralExp(@NonNull
StringLiteralExp object)
- Specified by:
visitStringLiteralExp
in interface Visitor<R>
visitTemplateBinding
@Nullable
public R visitTemplateBinding(@NonNull
TemplateBinding object)
- Specified by:
visitTemplateBinding
in interface Visitor<R>
visitTemplateParameter
@Nullable
public R visitTemplateParameter(@NonNull
TemplateParameter object)
- Specified by:
visitTemplateParameter
in interface Visitor<R>
visitTemplateParameterSubstitution
@Nullable
public R visitTemplateParameterSubstitution(@NonNull
TemplateParameterSubstitution object)
- Specified by:
visitTemplateParameterSubstitution
in interface Visitor<R>
visitTemplateParameterType
@Nullable
public R visitTemplateParameterType(@NonNull
TemplateParameterType object)
- Specified by:
visitTemplateParameterType
in interface Visitor<R>
visitTemplateSignature
@Nullable
public R visitTemplateSignature(@NonNull
TemplateSignature object)
- Specified by:
visitTemplateSignature
in interface Visitor<R>
visitTemplateableElement
@Nullable
public R visitTemplateableElement(@NonNull
TemplateableElement object)
- Specified by:
visitTemplateableElement
in interface Visitor<R>
visitTransition
@Nullable
public R visitTransition(@NonNull
Transition object)
- Specified by:
visitTransition
in interface Visitor<R>
visitTrigger
@Nullable
public R visitTrigger(@NonNull
Trigger object)
- Specified by:
visitTrigger
in interface Visitor<R>
visitTupleLiteralExp
@Nullable
public R visitTupleLiteralExp(@NonNull
TupleLiteralExp object)
- Specified by:
visitTupleLiteralExp
in interface Visitor<R>
visitTupleLiteralPart
@Nullable
public R visitTupleLiteralPart(@NonNull
TupleLiteralPart object)
- Specified by:
visitTupleLiteralPart
in interface Visitor<R>
visitTupleType
@Nullable
public R visitTupleType(@NonNull
TupleType object)
- Specified by:
visitTupleType
in interface Visitor<R>
visitType
@Nullable
public R visitType(@NonNull
Type object)
- Specified by:
visitType
in interface Visitor<R>
visitTypeExp
@Nullable
public R visitTypeExp(@NonNull
TypeExp object)
- Specified by:
visitTypeExp
in interface Visitor<R>
visitTypeExtension
@Nullable
public R visitTypeExtension(@NonNull
TypeExtension object)
- Specified by:
visitTypeExtension
in interface Visitor<R>
visitTypeTemplateParameter
@Nullable
public R visitTypeTemplateParameter(@NonNull
TypeTemplateParameter object)
- Specified by:
visitTypeTemplateParameter
in interface Visitor<R>
visitTypedElement
@Nullable
public R visitTypedElement(@NonNull
TypedElement object)
- Specified by:
visitTypedElement
in interface Visitor<R>
visitTypedMultiplicityElement
@Nullable
public R visitTypedMultiplicityElement(@NonNull
TypedMultiplicityElement object)
- Specified by:
visitTypedMultiplicityElement
in interface Visitor<R>
visitUnlimitedNaturalLiteralExp
@Nullable
public R visitUnlimitedNaturalLiteralExp(@NonNull
UnlimitedNaturalLiteralExp object)
- Specified by:
visitUnlimitedNaturalLiteralExp
in interface Visitor<R>
visitUnspecifiedType
@Nullable
public R visitUnspecifiedType(@NonNull
UnspecifiedType object)
- Specified by:
visitUnspecifiedType
in interface Visitor<R>
visitUnspecifiedValueExp
@Nullable
public R visitUnspecifiedValueExp(@NonNull
UnspecifiedValueExp object)
- Specified by:
visitUnspecifiedValueExp
in interface Visitor<R>
visitValueSpecification
@Nullable
public R visitValueSpecification(@NonNull
ValueSpecification object)
- Specified by:
visitValueSpecification
in interface Visitor<R>
visitVariable
@Nullable
public R visitVariable(@NonNull
Variable object)
- Specified by:
visitVariable
in interface Visitor<R>
visitVariableDeclaration
@Nullable
public R visitVariableDeclaration(@NonNull
VariableDeclaration object)
- Specified by:
visitVariableDeclaration
in interface Visitor<R>
visitVariableExp
@Nullable
public R visitVariableExp(@NonNull
VariableExp object)
- Specified by:
visitVariableExp
in interface Visitor<R>
visitVertex
@Nullable
public R visitVertex(@NonNull
Vertex object)
- Specified by:
visitVertex
in interface Visitor<R>
visitVoidType
@Nullable
public R visitVoidType(@NonNull
VoidType object)
- Specified by:
visitVoidType
in interface Visitor<R>