org.eclipse.ocl.examples.pivot.evaluation
Interface EvaluationVisitor

All Superinterfaces:
Visitor<Value,java.lang.Object>
All Known Implementing Classes:
AbstractEvaluationVisitor, EvaluationVisitorDecorator, EvaluationVisitorImpl, OCLConsolePage.CancelableEvaluationVisitor, TracingEvaluationVisitor

public interface EvaluationVisitor
extends Visitor<Value,java.lang.Object>

A specialized visitor that is used for evaluation an OCL expression by walking its AST.

See the Environment class for a description of the generic type parameters of this class.

Author:
Tim Klinger (tklinger), Christian W. Damus (cdamus)

Method Summary
 EvaluationVisitor createNestedVisitor()
           
 Environment getEnvironment()
          Obtains the environment that provides the metamodel semantics for the expression to be evaluated.
 EvaluationEnvironment getEvaluationEnvironment()
          Obtains the evaluation environment that keeps track of variable values and knows how to call operations, navigate properties, etc.
 ModelManager getModelManager()
          Obtains the mapping of model classes to their extents.
 TypeManager getTypeManager()
           
 ValueFactory getValueFactory()
           
 void setUndecoratedVisitor(EvaluationVisitor evaluationVisitor)
          Configures the specified decorated visitor to correctly handle the invocation of recursive visitXxx(...) calls.
 NullValue throwInvalidEvaluation(InvalidValueException e)
           
 NullValue throwInvalidEvaluation(java.lang.String message)
           
 NullValue throwInvalidEvaluation(java.lang.Throwable e, OclExpression expression, java.lang.Object value, java.lang.String message, java.lang.Object... bindings)
           
 
Methods inherited from interface org.eclipse.ocl.examples.pivot.util.Visitor
getAdapter, visitAnnotation, visitAnyType, visitAssociationClass, visitAssociationClassCallExp, visitBagType, visitBooleanLiteralExp, visitCallExp, visitCallOperationAction, visitClass, visitClassifierType, visitCollectionItem, visitCollectionLiteralExp, visitCollectionLiteralPart, visitCollectionRange, visitCollectionType, visitComment, visitConstraint, visitDataType, visitDetail, visitElement, visitEnumeration, visitEnumerationLiteral, visitEnumLiteralExp, visitExpressionInOcl, visitFeature, visitFeatureCallExp, visitIfExp, visiting, visitIntegerLiteralExp, visitInvalidLiteralExp, visitInvalidType, visitIterateExp, visitIteration, visitIteratorExp, visitLambdaType, visitLetExp, visitLibrary, visitLiteralExp, visitLoopExp, visitMessageExp, visitMessageType, visitMonikeredElement, visitMultiplicityElement, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNullLiteralExp, visitNumericLiteralExp, visitOclExpression, visitOpaqueExpression, visitOperation, visitOperationCallExp, visitOperationTemplateParameter, visitOrderedSetType, visitPackage, visitPackageableElement, visitParameter, visitParameterableElement, visitPrecedence, visitPrimitiveLiteralExp, visitPrimitiveType, visitProperty, visitPropertyCallExp, visitRealLiteralExp, visitSendSignalAction, visitSequenceType, visitSetType, visitSignal, visitState, visitStateExp, visitStringLiteralExp, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateParameterType, visitTemplateSignature, visitTupleLiteralExp, visitTupleLiteralPart, visitTupleType, visitType, visitTypedElement, visitTypedMultiplicityElement, visitTypeExp, visitTypeTemplateParameter, visitUnlimitedNaturalLiteralExp, visitUnspecifiedType, visitUnspecifiedValueExp, visitValueSpecification, visitVariable, visitVariableDeclaration, visitVariableExp, visitVoidType
 

Method Detail

createNestedVisitor

EvaluationVisitor createNestedVisitor()

getEnvironment

Environment getEnvironment()
Obtains the environment that provides the metamodel semantics for the expression to be evaluated.

Returns:
the environment

getEvaluationEnvironment

EvaluationEnvironment getEvaluationEnvironment()
Obtains the evaluation environment that keeps track of variable values and knows how to call operations, navigate properties, etc.

Returns:
the evaluation environment

getModelManager

ModelManager getModelManager()
Obtains the mapping of model classes to their extents.

Returns:
the model manager

getTypeManager

TypeManager getTypeManager()

getValueFactory

ValueFactory getValueFactory()

setUndecoratedVisitor

void setUndecoratedVisitor(EvaluationVisitor evaluationVisitor)
Configures the specified decorated visitor to correctly handle the invocation of recursive visitXxx(...) calls. In particular, the tail of a chain of decorators is informed (if it is an AbstractEvaluationVisitor of the head decorator of the chain, so that recursive visitation follows the entire decorator chain at every step.

Parameters:
decorator - the decorator that is not decorated/

throwInvalidEvaluation

NullValue throwInvalidEvaluation(InvalidValueException e)
                                 throws InvalidEvaluationException
Throws:
InvalidEvaluationException

throwInvalidEvaluation

NullValue throwInvalidEvaluation(java.lang.String message)
                                 throws InvalidEvaluationException
Throws:
InvalidEvaluationException

throwInvalidEvaluation

NullValue throwInvalidEvaluation(java.lang.Throwable e,
                                 OclExpression expression,
                                 java.lang.Object value,
                                 java.lang.String message,
                                 java.lang.Object... bindings)
                                 throws InvalidEvaluationException
Throws:
InvalidEvaluationException