org.eclipse.ocl.examples.pivot.evaluation
Class EvaluationVisitorDecorator

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.Object,java.lang.Object>
          extended by org.eclipse.ocl.examples.pivot.evaluation.AbstractEvaluationVisitorDecorator<EvaluationVisitor>
              extended by org.eclipse.ocl.examples.pivot.evaluation.EvaluationVisitorDecorator
All Implemented Interfaces:
DomainEvaluator, EvaluationVisitor, Visitor<java.lang.Object>
Direct Known Subclasses:
TracingEvaluationVisitor

public abstract class EvaluationVisitorDecorator
extends AbstractEvaluationVisitorDecorator<EvaluationVisitor>

A visitor that decorates another EvaluationVisitor, to intercept invocations of the visitXxx(...) methods. By default, every visitation is simply delegated to the decorated visitor. Subclasses may extend these delegations with any additional behaviour that is required, even replacing calls to the delegate where necessary.

This class works together with the AbstractEvaluationVisitor to ensure that recursive visitXxx() calls are correctly intercepted by me (and not just implemented within the decorated visitor). Moreover, this works with decorators nested to any depth.


Field Summary
 
Fields inherited from class org.eclipse.ocl.examples.pivot.evaluation.AbstractEvaluationVisitorDecorator
delegate
 
Fields inherited from class org.eclipse.ocl.examples.pivot.util.AbstractVisitor
context
 
Constructor Summary
protected EvaluationVisitorDecorator(EvaluationVisitor decorated)
           
 
Method Summary
 
Methods inherited from class org.eclipse.ocl.examples.pivot.evaluation.AbstractEvaluationVisitorDecorator
createNestedEvaluator, getDelegate, getEnvironment, getEvaluationEnvironment, getModelManager, setUndecoratedVisitor, visitAssociationClassCallExp, visitBooleanLiteralExp, visitCollectionItem, visitCollectionLiteralExp, visitCollectionRange, visitConstraint, visitConstructorExp, visitEnumLiteralExp, visitExpressionInOCL, visitIfExp, visiting, visitIntegerLiteralExp, visitInvalidLiteralExp, visitLetExp, visitMessageExp, visitNullLiteralExp, visitOperationCallExp, visitOppositePropertyCallExp, visitPropertyCallExp, visitRealLiteralExp, visitStateExp, visitStringLiteralExp, visitTupleLiteralExp, visitTupleLiteralPart, visitTypeExp, visitUnlimitedNaturalLiteralExp, visitUnspecifiedValueExp, visitVariable, visitVariableExp
 
Methods inherited from class org.eclipse.ocl.examples.pivot.util.AbstractExtendingVisitor
visitAnnotation, visitAnyType, visitAssociationClass, visitBagType, visitBehavior, visitCallExp, visitCallOperationAction, visitClass, visitCollectionLiteralPart, visitCollectionType, visitComment, visitConnectionPointReference, visitConstructorPart, visitDataType, visitDetail, visitDynamicElement, visitDynamicProperty, visitDynamicType, visitElement, visitElementExtension, visitEnumeration, visitEnumerationLiteral, visitFeature, visitFeatureCallExp, visitFinalState, visitImport, visitInvalidType, visitIterateExp, visitIteration, visitIteratorExp, visitLambdaType, visitLibrary, visitLiteralExp, visitLoopExp, visitMessageType, visitMetaclass, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNumericLiteralExp, visitOCLExpression, visitOpaqueExpression, visitOperation, visitOperationTemplateParameter, visitOrderedSetType, visitPackage, visitPackageableElement, visitParameter, visitParameterableElement, visitPrecedence, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProfileApplication, visitProperty, visitPseudostate, visitRegion, visitRoot, visitSelfType, visitSendSignalAction, visitSequenceType, visitSetType, visitSignal, visitState, visitStateMachine, visitStereotype, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateParameterType, visitTemplateSignature, visitTransition, visitTrigger, visitTupleType, visitType, visitTypedElement, visitTypedMultiplicityElement, visitTypeExtension, visitTypeTemplateParameter, visitUnspecifiedType, visitValueSpecification, visitVariableDeclaration, 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, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.ocl.examples.pivot.evaluation.EvaluationVisitor
evaluate, evaluate, getEvaluator, getMetaModelManager, getMonitor, getStandardLibrary, isCanceled, setCanceled, setMonitor
 
Methods inherited from interface org.eclipse.ocl.examples.pivot.util.Visitor
getAdapter, visitAnnotation, visitAnyType, visitAssociationClass, visitBagType, visitBehavior, visitCallExp, visitCallOperationAction, visitClass, visitCollectionLiteralPart, visitCollectionType, visitComment, visitConnectionPointReference, visitConstructorPart, visitDataType, visitDetail, visitDynamicElement, visitDynamicProperty, visitDynamicType, visitElement, visitElementExtension, visitEnumeration, visitEnumerationLiteral, visitFeature, visitFeatureCallExp, visitFinalState, visitImport, visitInvalidType, visitIterateExp, visitIteration, visitIteratorExp, visitLambdaType, visitLibrary, visitLiteralExp, visitLoopExp, visitMessageType, visitMetaclass, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNumericLiteralExp, visitOCLExpression, visitOpaqueExpression, visitOperation, visitOperationTemplateParameter, visitOrderedSetType, visitPackage, visitPackageableElement, visitParameter, visitParameterableElement, visitPrecedence, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProfileApplication, visitProperty, visitPseudostate, visitRegion, visitRoot, visitSelfType, visitSendSignalAction, visitSequenceType, visitSetType, visitSignal, visitState, visitStateMachine, visitStereotype, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateParameterType, visitTemplateSignature, visitTransition, visitTrigger, visitTupleType, visitType, visitTypedElement, visitTypedMultiplicityElement, visitTypeExtension, visitTypeTemplateParameter, visitUnspecifiedType, visitValueSpecification, visitVariableDeclaration, visitVertex, visitVoidType
 
Methods inherited from interface org.eclipse.ocl.examples.domain.evaluation.DomainEvaluator
dispose, getIdResolver, getLogger, getRegexPattern, getStaticTypeOf, getStaticTypeOf, getStaticTypeOf, setLogger
 

Constructor Detail

EvaluationVisitorDecorator

protected EvaluationVisitorDecorator(@NonNull
                                     EvaluationVisitor decorated)