public abstract class AbstractEvaluationVisitor extends AbstractExtendingVisitor<java.lang.Object,java.lang.Object> implements EvaluationVisitor
Note that this class is not intended to be used or extended by
clients. Use the EvaluationVisitor interface, instead.
See the Environment class for a description of the
generic type parameters of this class.
| Modifier and Type | Field and Description |
|---|---|
protected Environment |
environment |
protected EvaluationEnvironment |
evaluationEnvironment |
protected MetaModelManager |
metaModelManager |
protected DomainModelManager |
modelManager |
context| Modifier | Constructor and Description |
|---|---|
protected |
AbstractEvaluationVisitor(Environment env,
EvaluationEnvironment evalEnv,
DomainModelManager modelManager)
Initializes me.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
IdResolver |
getIdResolver() |
DomainLogger |
getLogger()
Return the logger handling oclLog() invocations or null for none.
|
MetaModelManager |
getMetaModelManager() |
DomainModelManager |
getModelManager()
Obtains the mapping of model classes to their extents.
|
DomainStandardLibrary |
getStandardLibrary() |
DomainType |
getStaticTypeOf(java.lang.Object value) |
DomainType |
getStaticTypeOf(java.lang.Object value,
java.lang.Iterable<?> values) |
DomainType |
getStaticTypeOf(java.lang.Object value,
java.lang.Object... values) |
protected EvaluationVisitor |
getUndecoratedVisitor()
Obtains the visitor on which I perform nested
Visitable#accept(org.eclipse.ocl.utilities.Visitor) calls. |
protected EvaluationVisitor |
getVisitor()
Deprecated.
|
boolean |
isCanceled()
Return true if the evaluation has been canceled.
|
void |
setCanceled(boolean isCanceled)
Request cancelation of the current the evaluation, or reset the request for a new evaluation.
|
void |
setLogger(DomainLogger logger)
Specify the logger to handle oclLog() invocations or null for none.
|
void |
setUndecoratedVisitor(EvaluationVisitor evaluationVisitor)
Sets the visitor on which I perform nested
Visitable#accept(org.eclipse.ocl.utilities.Visitor) calls. |
java.lang.String |
toString() |
java.lang.Object |
visitConstraint(Constraint constraint)
This default implementation asserts that the constraint is
boolean-valued if it is an invariant, pre-condition, or post-condition
constraint and returns the value of its body expression by delegation to
#visitExpression(OCLExpression). |
visitAnnotation, visitAnyType, visitAssociationClass, visitAssociationClassCallExp, visitBagType, visitBehavior, visitBooleanLiteralExp, visitCallExp, visitCallOperationAction, visitClass, visitCollectionItem, visitCollectionLiteralExp, visitCollectionLiteralPart, visitCollectionRange, visitCollectionType, visitComment, visitConnectionPointReference, visitConstructorExp, visitConstructorPart, visitDataType, visitDetail, visitDynamicElement, visitDynamicProperty, visitDynamicType, visitElement, visitElementExtension, visitEnumeration, visitEnumerationLiteral, visitEnumLiteralExp, visitExpressionInOCL, visitFeature, visitFeatureCallExp, visitFinalState, visitIfExp, visitImport, visitIntegerLiteralExp, visitInvalidLiteralExp, visitInvalidType, visitIterateExp, visitIteration, visitIteratorExp, visitLambdaType, visitLetExp, visitLibrary, visitLiteralExp, visitLoopExp, visitMessageExp, visitMessageType, visitMetaclass, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNullLiteralExp, visitNumericLiteralExp, visitOCLExpression, visitOpaqueExpression, visitOperation, visitOperationCallExp, visitOperationTemplateParameter, visitOrderedSetType, visitPackage, visitPackageableElement, visitParameter, visitParameterableElement, visitPrecedence, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProperty, visitPropertyCallExp, visitPseudostate, visitRealLiteralExp, visitRegion, visitRoot, visitSelfType, visitSendSignalAction, visitSequenceType, visitSetType, visitSignal, visitState, visitStateExp, visitStateMachine, visitStereotype, visitStringLiteralExp, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateParameterType, visitTemplateSignature, visitTransition, visitTrigger, visitTupleLiteralExp, visitTupleLiteralPart, visitTupleType, visitType, visitTypedElement, visitTypedMultiplicityElement, visitTypeExp, visitTypeTemplateParameter, visitUnlimitedNaturalLiteralExp, visitUnspecifiedType, visitUnspecifiedValueExp, visitValueSpecification, visitVariable, visitVariableDeclaration, visitVariableExp, visitVertex, visitVoidTypegetAdapter, safeVisit, visitclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcreateNestedEvaluator, evaluate, evaluate, getEvaluatorgetAdapter, visitAnnotation, visitAnyType, visitAssociationClass, visitAssociationClassCallExp, visitBagType, visitBehavior, visitBooleanLiteralExp, visitCallExp, visitCallOperationAction, visitClass, visitCollectionItem, visitCollectionLiteralExp, visitCollectionLiteralPart, visitCollectionRange, visitCollectionType, visitComment, visitConnectionPointReference, visitConstructorExp, visitConstructorPart, visitDataType, visitDetail, visitDynamicElement, visitDynamicProperty, visitDynamicType, visitElement, visitElementExtension, visitEnumeration, visitEnumerationLiteral, visitEnumLiteralExp, visitExpressionInOCL, visitFeature, visitFeatureCallExp, visitFinalState, visitIfExp, visitImport, visiting, visitIntegerLiteralExp, visitInvalidLiteralExp, visitInvalidType, visitIterateExp, visitIteration, visitIteratorExp, visitLambdaType, visitLetExp, visitLibrary, visitLiteralExp, visitLoopExp, visitMessageExp, visitMessageType, visitMetaclass, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNullLiteralExp, visitNumericLiteralExp, visitOCLExpression, visitOpaqueExpression, visitOperation, visitOperationCallExp, visitOperationTemplateParameter, visitOrderedSetType, visitPackage, visitPackageableElement, visitParameter, visitParameterableElement, visitPrecedence, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProperty, visitPropertyCallExp, visitPseudostate, visitRealLiteralExp, visitRegion, visitRoot, visitSelfType, visitSendSignalAction, visitSequenceType, visitSetType, visitSignal, visitState, visitStateExp, visitStateMachine, visitStereotype, visitStringLiteralExp, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateParameterType, visitTemplateSignature, visitTransition, visitTrigger, visitTupleLiteralExp, visitTupleLiteralPart, visitTupleType, visitType, visitTypedElement, visitTypedMultiplicityElement, visitTypeExp, visitTypeTemplateParameter, visitUnlimitedNaturalLiteralExp, visitUnspecifiedType, visitUnspecifiedValueExp, visitValueSpecification, visitVariable, visitVariableDeclaration, visitVariableExp, visitVertex, visitVoidType@NonNull protected final EvaluationEnvironment evaluationEnvironment
@NonNull protected final Environment environment
@NonNull protected final MetaModelManager metaModelManager
@NonNull protected final DomainModelManager modelManager
protected AbstractEvaluationVisitor(@NonNull
Environment env,
@NonNull
EvaluationEnvironment evalEnv,
@NonNull
DomainModelManager modelManager)
env - the current environmentevalEnv - an evaluation environment (map of variable names to values)modelManager - a map of classes to their instance sets@NonNull public Environment getEnvironment()
EvaluationVisitorgetEnvironment in interface EvaluationVisitor@NonNull public EvaluationEnvironment getEvaluationEnvironment()
EvaluationVisitorgetEvaluationEnvironment in interface DomainEvaluatorgetEvaluationEnvironment in interface EvaluationVisitor@NonNull public IdResolver getIdResolver()
getIdResolver in interface DomainEvaluator@Nullable public DomainLogger getLogger()
DomainEvaluatorgetLogger in interface DomainEvaluator@NonNull public MetaModelManager getMetaModelManager()
getMetaModelManager in interface EvaluationVisitor@NonNull public DomainModelManager getModelManager()
EvaluationVisitorgetModelManager in interface DomainEvaluatorgetModelManager in interface EvaluationVisitor@NonNull public DomainStandardLibrary getStandardLibrary()
getStandardLibrary in interface DomainEvaluatorgetStandardLibrary in interface EvaluationVisitor@NonNull public DomainType getStaticTypeOf(@Nullable java.lang.Object value)
getStaticTypeOf in interface DomainEvaluator@NonNull public DomainType getStaticTypeOf(@Nullable java.lang.Object value, @NonNull java.lang.Object... values)
getStaticTypeOf in interface DomainEvaluator@NonNull public DomainType getStaticTypeOf(@Nullable java.lang.Object value, @NonNull java.lang.Iterable<?> values)
getStaticTypeOf in interface DomainEvaluator@NonNull protected final EvaluationVisitor getUndecoratedVisitor()
Visitable#accept(org.eclipse.ocl.utilities.Visitor) calls. This
handles the case in which I am decorated by another visitor that must
intercept every visitXxx() method. If I internally just
recursively visit myself, then this decorator is cut out of the picture.@Deprecated protected final EvaluationVisitor getVisitor()
getUndecoratedVisitor()Visitable#accept(org.eclipse.ocl.utilities.Visitor) calls. This
handles the case in which I am decorated by another visitor that must
intercept every visitXxx() method. If I internally just
recursively visit myself, then this decorator is cut out of the picture.public boolean isCanceled()
DomainEvaluatorisCanceled in interface DomainEvaluatorpublic void setCanceled(boolean isCanceled)
DomainEvaluatorEvaluationHaltedException when #getValuefactory()
is next invoked.setCanceled in interface DomainEvaluatorpublic void setLogger(@Nullable
DomainLogger logger)
DomainEvaluatorsetLogger in interface DomainEvaluatorpublic void setUndecoratedVisitor(@NonNull
EvaluationVisitor evaluationVisitor)
Visitable#accept(org.eclipse.ocl.utilities.Visitor) calls.setUndecoratedVisitor in interface EvaluationVisitorvisitor - my delegate visitorgetUndecoratedVisitor()public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.Object visitConstraint(@NonNull
Constraint constraint)
#visitExpression(OCLExpression).visitConstraint in interface Visitor<java.lang.Object>visitConstraint in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>