public abstract class AbstractEvaluationVisitorDecorator<EV extends EvaluationVisitor> extends AbstractExtendingVisitor<java.lang.Object,java.lang.Object> implements EvaluationVisitor
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.
EvaluationVisitor.EvaluationVisitorExtension
Modifier and Type | Field and Description |
---|---|
protected EV |
delegate |
context
Modifier | Constructor and Description |
---|---|
protected |
AbstractEvaluationVisitorDecorator(EV decorated) |
Modifier and Type | Method and Description |
---|---|
EvaluationVisitor |
createNestedEvaluator()
Deprecated.
Evaluator no longer nests
|
void |
dispose()
Deprecated.
Evaluator no longer nests
|
java.lang.Object |
evaluate(OCLExpression body)
Delegates to my decorated visitor.
|
CompleteEnvironment |
getCompleteEnvironment()
Deprecated.
moved to Evaluator
|
protected EV |
getDelegate()
Obtains the visitor that I decorate.
|
int |
getDiagnosticSeverity(int severityPreference,
java.lang.Object resultValue)
Deprecated.
moved to Evaluator
|
EnvironmentFactory |
getEnvironmentFactory()
Obtains my delegate's environment.
|
EvaluationEnvironment |
getEvaluationEnvironment()
Obtains my delegate's evaluation environment.
|
EvaluationVisitor |
getEvaluator()
Deprecated.
moved to Evaluator
|
IdResolver |
getIdResolver()
Deprecated.
moved to Evaluator
|
EvaluationLogger |
getLogger()
Deprecated.
moved to Evaluator
|
MetamodelManager |
getMetamodelManager()
Deprecated.
moved to Executor
|
ModelManager |
getModelManager()
Deprecated.
moved to Evaluator
|
org.eclipse.emf.common.util.Monitor |
getMonitor() |
java.util.regex.Pattern |
getRegexPattern(java.lang.String regex)
Deprecated.
moved to Evaluator
|
int |
getSeverity(java.lang.Object validationKey)
Deprecated.
moved to Evaluator
|
StandardLibrary |
getStandardLibrary()
Deprecated.
moved to Evaluator
|
Class |
getStaticTypeOf(java.lang.Object value)
Deprecated.
moved to Evaluator
|
Class |
getStaticTypeOf(java.lang.Object value,
java.lang.Iterable<?> values)
Deprecated.
moved to Evaluator
|
Class |
getStaticTypeOf(java.lang.Object value,
java.lang.Object... values)
Deprecated.
moved to Evaluator
|
boolean |
isCanceled()
Delegates to my decorated visitor.
|
void |
setCanceled(boolean isCanceled)
Delegates to my decorated visitor.
|
void |
setLogger(EvaluationLogger logger)
Deprecated.
moved to Evaluator
|
void |
setMonitor(org.eclipse.emf.common.util.Monitor monitor) |
void |
setUndecoratedVisitor(EvaluationVisitor evaluationVisitor)
Delegates to my decorated visitor.
|
java.lang.Object |
visitAssociationClassCallExp(AssociationClassCallExp callExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitBooleanLiteralExp(BooleanLiteralExp literalExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitCollectionItem(CollectionItem item)
Delegates to my decorated visitor.
|
java.lang.Object |
visitCollectionLiteralExp(CollectionLiteralExp literalExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitCollectionRange(CollectionRange range)
Delegates to my decorated visitor.
|
java.lang.Object |
visitConstraint(Constraint constraint)
Delegates to my decorated visitor.
|
java.lang.Object |
visitEnumLiteralExp(EnumLiteralExp literalExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitExpressionInOCL(ExpressionInOCL expression)
Delegates to my decorated visitor.
|
java.lang.Object |
visitIfExp(IfExp ifExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visiting(Visitable visitable)
Delegates to my decorated visitor.
|
java.lang.Object |
visitIntegerLiteralExp(IntegerLiteralExp literalExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitInvalidLiteralExp(InvalidLiteralExp literalExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitLetExp(LetExp letExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitMapLiteralExp(MapLiteralExp literalExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitMapLiteralPart(MapLiteralPart range)
Delegates to my decorated visitor.
|
java.lang.Object |
visitMessageExp(MessageExp messageExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitNullLiteralExp(NullLiteralExp literalExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitOperationCallExp(OperationCallExp callExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitOppositePropertyCallExp(OppositePropertyCallExp callExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitPropertyCallExp(PropertyCallExp callExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitRealLiteralExp(RealLiteralExp literalExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitShadowExp(ShadowExp shadowExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitStateExp(StateExp stateExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitStringLiteralExp(StringLiteralExp literalExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitTupleLiteralExp(TupleLiteralExp literalExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitTupleLiteralPart(TupleLiteralPart part)
Delegates to my decorated visitor.
|
java.lang.Object |
visitTypeExp(TypeExp typeExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitUnlimitedNaturalLiteralExp(UnlimitedNaturalLiteralExp literalExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitUnspecifiedValueExp(UnspecifiedValueExp unspecExp)
Delegates to my decorated visitor.
|
java.lang.Object |
visitVariable(Variable variable)
Delegates to my decorated visitor.
|
java.lang.Object |
visitVariableExp(VariableExp variableExp)
Delegates to my decorated visitor.
|
visitAnnotation, visitAnyType, visitAssociationClass, visitBagType, visitBehavior, visitCallExp, visitCallOperationAction, visitClass, visitCollectionLiteralPart, visitCollectionType, visitComment, visitCompleteClass, visitCompleteEnvironment, visitCompleteModel, visitCompletePackage, visitConnectionPointReference, visitDataType, visitDetail, visitDynamicBehavior, visitDynamicElement, visitDynamicProperty, visitDynamicType, visitDynamicValueSpecification, visitElement, visitElementExtension, visitEnumeration, visitEnumerationLiteral, visitFeature, visitFeatureCallExp, visitFinalState, visitImport, visitInstanceSpecification, visitInvalidType, visitIterateExp, visitIteration, visitIteratorExp, visitIteratorVariable, visitLambdaType, visitLanguageExpression, visitLetVariable, visitLibrary, visitLiteralExp, visitLoopExp, visitMapType, visitMessageType, visitModel, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNumericLiteralExp, visitOCLExpression, visitOperation, visitOrderedSetType, visitOrphanCompletePackage, visitPackage, visitParameter, visitParameterVariable, visitPrecedence, visitPrimitiveCompletePackage, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProfileApplication, visitProperty, visitPseudostate, visitRegion, visitResultVariable, visitSelfType, visitSendSignalAction, visitSequenceType, visitSetType, visitShadowPart, visitSignal, visitSlot, visitStandardLibrary, visitState, visitStateMachine, visitStereotype, visitStereotypeExtender, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateSignature, visitTransition, visitTrigger, visitTupleType, visitType, visitTypedElement, visitValueSpecification, visitVariableDeclaration, visitVertex, visitVoidType, visitWildcardType
getAdapter, safeVisit, visit
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAdapter, visitAnnotation, visitAnyType, visitAssociationClass, visitBagType, visitBehavior, visitCallExp, visitCallOperationAction, visitClass, visitCollectionLiteralPart, visitCollectionType, visitComment, visitCompleteClass, visitCompleteEnvironment, visitCompleteModel, visitCompletePackage, visitConnectionPointReference, visitDataType, visitDetail, visitDynamicBehavior, visitDynamicElement, visitDynamicProperty, visitDynamicType, visitDynamicValueSpecification, visitElement, visitElementExtension, visitEnumeration, visitEnumerationLiteral, visitFeature, visitFeatureCallExp, visitFinalState, visitImport, visitInstanceSpecification, visitInvalidType, visitIterateExp, visitIteration, visitIteratorExp, visitIteratorVariable, visitLambdaType, visitLanguageExpression, visitLetVariable, visitLibrary, visitLiteralExp, visitLoopExp, visitMapType, visitMessageType, visitModel, visitNamedElement, visitNamespace, visitNavigationCallExp, visitNumericLiteralExp, visitOCLExpression, visitOperation, visitOrderedSetType, visitOrphanCompletePackage, visitPackage, visitParameter, visitParameterVariable, visitPrecedence, visitPrimitiveCompletePackage, visitPrimitiveLiteralExp, visitPrimitiveType, visitProfile, visitProfileApplication, visitProperty, visitPseudostate, visitRegion, visitResultVariable, visitSelfType, visitSendSignalAction, visitSequenceType, visitSetType, visitShadowPart, visitSignal, visitSlot, visitStandardLibrary, visitState, visitStateMachine, visitStereotype, visitStereotypeExtender, visitTemplateableElement, visitTemplateBinding, visitTemplateParameter, visitTemplateParameterSubstitution, visitTemplateSignature, visitTransition, visitTrigger, visitTupleType, visitType, visitTypedElement, visitValueSpecification, visitVariableDeclaration, visitVertex, visitVoidType, visitWildcardType
@NonNull protected final EV extends EvaluationVisitor delegate
protected AbstractEvaluationVisitorDecorator(@NonNull EV decorated)
@Deprecated @NonNull public EvaluationVisitor createNestedEvaluator()
createNestedEvaluator
in interface EvaluationVisitor
createNestedEvaluator
in interface Evaluator
@Deprecated public void dispose()
@Nullable public java.lang.Object evaluate(@NonNull OCLExpression body)
evaluate
in interface EvaluationVisitor
evaluate
in interface Evaluator
@Deprecated @NonNull public CompleteEnvironment getCompleteEnvironment()
getCompleteEnvironment
in interface Evaluator
@NonNull protected final EV getDelegate()
@Deprecated public int getDiagnosticSeverity(int severityPreference, @Nullable java.lang.Object resultValue)
Evaluator
getDiagnosticSeverity
in interface Evaluator
@NonNull public EnvironmentFactory getEnvironmentFactory()
getEnvironmentFactory
in interface EvaluationVisitor
@NonNull public EvaluationEnvironment getEvaluationEnvironment()
getEvaluationEnvironment
in interface EvaluationVisitor
getEvaluationEnvironment
in interface Evaluator
@Deprecated @NonNull public EvaluationVisitor getEvaluator()
getEvaluator
in interface EvaluationVisitor
@Deprecated @NonNull public IdResolver getIdResolver()
getIdResolver
in interface Evaluator
@Deprecated @Nullable public EvaluationLogger getLogger()
Evaluator
@Deprecated @NonNull public MetamodelManager getMetamodelManager()
getMetamodelManager
in interface EvaluationVisitor
@Deprecated @NonNull public ModelManager getModelManager()
Evaluator
getModelManager
in interface EvaluationVisitor
getModelManager
in interface Evaluator
@Nullable public org.eclipse.emf.common.util.Monitor getMonitor()
getMonitor
in interface EvaluationVisitor
@Deprecated @NonNull public java.util.regex.Pattern getRegexPattern(@NonNull java.lang.String regex)
Evaluator
getRegexPattern
in interface Evaluator
@Deprecated public int getSeverity(@Nullable java.lang.Object validationKey)
Evaluator
StatusCodes.OK severity suppresses the validation altogether.
StatusCodes.Warning is returned for any null or unknown key.
getSeverity
in interface Evaluator
@Deprecated public Class getStaticTypeOf(@Nullable java.lang.Object value)
getStaticTypeOf
in interface Evaluator
@Deprecated public Class getStaticTypeOf(@Nullable java.lang.Object value, @NonNull java.lang.Object... values)
getStaticTypeOf
in interface Evaluator
@Deprecated public Class getStaticTypeOf(@Nullable java.lang.Object value, @NonNull java.lang.Iterable<?> values)
getStaticTypeOf
in interface Evaluator
@Deprecated @NonNull public StandardLibrary getStandardLibrary()
getStandardLibrary
in interface EvaluationVisitor
getStandardLibrary
in interface Evaluator
public boolean isCanceled()
isCanceled
in interface EvaluationVisitor
isCanceled
in interface Evaluator
public void setCanceled(boolean isCanceled)
setCanceled
in interface EvaluationVisitor
setCanceled
in interface Evaluator
@Deprecated public void setLogger(@Nullable EvaluationLogger logger)
Evaluator
public void setMonitor(@Nullable org.eclipse.emf.common.util.Monitor monitor)
setMonitor
in interface EvaluationVisitor
public void setUndecoratedVisitor(@NonNull EvaluationVisitor evaluationVisitor)
setUndecoratedVisitor
in interface EvaluationVisitor
evaluationVisitor
- the evaluationVisitor that is not decorated/public java.lang.Object visitConstraint(@NonNull Constraint constraint)
visitConstraint
in interface Visitor<java.lang.Object>
visitConstraint
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitAssociationClassCallExp(@NonNull AssociationClassCallExp callExp)
visitAssociationClassCallExp
in interface Visitor<java.lang.Object>
visitAssociationClassCallExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitBooleanLiteralExp(@NonNull BooleanLiteralExp literalExp)
visitBooleanLiteralExp
in interface Visitor<java.lang.Object>
visitBooleanLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitCollectionItem(@NonNull CollectionItem item)
visitCollectionItem
in interface Visitor<java.lang.Object>
visitCollectionItem
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitCollectionLiteralExp(@NonNull CollectionLiteralExp literalExp)
visitCollectionLiteralExp
in interface Visitor<java.lang.Object>
visitCollectionLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitCollectionRange(@NonNull CollectionRange range)
visitCollectionRange
in interface Visitor<java.lang.Object>
visitCollectionRange
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitEnumLiteralExp(@NonNull EnumLiteralExp literalExp)
visitEnumLiteralExp
in interface Visitor<java.lang.Object>
visitEnumLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitExpressionInOCL(@NonNull ExpressionInOCL expression)
visitExpressionInOCL
in interface Visitor<java.lang.Object>
visitExpressionInOCL
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitIfExp(@NonNull IfExp ifExp)
visitIfExp
in interface Visitor<java.lang.Object>
visitIfExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitIntegerLiteralExp(@NonNull IntegerLiteralExp literalExp)
visitIntegerLiteralExp
in interface Visitor<java.lang.Object>
visitIntegerLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitInvalidLiteralExp(@NonNull InvalidLiteralExp literalExp)
visitInvalidLiteralExp
in interface Visitor<java.lang.Object>
visitInvalidLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitLetExp(@NonNull LetExp letExp)
visitLetExp
in interface Visitor<java.lang.Object>
visitLetExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
@Nullable public java.lang.Object visitMapLiteralExp(@NonNull MapLiteralExp literalExp)
visitMapLiteralExp
in interface Visitor<java.lang.Object>
visitMapLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
@Nullable public java.lang.Object visitMapLiteralPart(@NonNull MapLiteralPart range)
visitMapLiteralPart
in interface Visitor<java.lang.Object>
visitMapLiteralPart
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitMessageExp(@NonNull MessageExp messageExp)
visitMessageExp
in interface Visitor<java.lang.Object>
visitMessageExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitNullLiteralExp(@NonNull NullLiteralExp literalExp)
visitNullLiteralExp
in interface Visitor<java.lang.Object>
visitNullLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitOperationCallExp(@NonNull OperationCallExp callExp)
visitOperationCallExp
in interface Visitor<java.lang.Object>
visitOperationCallExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitOppositePropertyCallExp(@NonNull OppositePropertyCallExp callExp)
visitOppositePropertyCallExp
in interface Visitor<java.lang.Object>
visitOppositePropertyCallExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitPropertyCallExp(@NonNull PropertyCallExp callExp)
visitPropertyCallExp
in interface Visitor<java.lang.Object>
visitPropertyCallExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitRealLiteralExp(@NonNull RealLiteralExp literalExp)
visitRealLiteralExp
in interface Visitor<java.lang.Object>
visitRealLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitShadowExp(@NonNull ShadowExp shadowExp)
visitShadowExp
in interface Visitor<java.lang.Object>
visitShadowExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitStateExp(@NonNull StateExp stateExp)
visitStateExp
in interface Visitor<java.lang.Object>
visitStateExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitStringLiteralExp(@NonNull StringLiteralExp literalExp)
visitStringLiteralExp
in interface Visitor<java.lang.Object>
visitStringLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitTupleLiteralExp(@NonNull TupleLiteralExp literalExp)
visitTupleLiteralExp
in interface Visitor<java.lang.Object>
visitTupleLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitTupleLiteralPart(@NonNull TupleLiteralPart part)
visitTupleLiteralPart
in interface Visitor<java.lang.Object>
visitTupleLiteralPart
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitTypeExp(@NonNull TypeExp typeExp)
visitTypeExp
in interface Visitor<java.lang.Object>
visitTypeExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitUnlimitedNaturalLiteralExp(@NonNull UnlimitedNaturalLiteralExp literalExp)
visitUnlimitedNaturalLiteralExp
in interface Visitor<java.lang.Object>
visitUnlimitedNaturalLiteralExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitUnspecifiedValueExp(@NonNull UnspecifiedValueExp unspecExp)
visitUnspecifiedValueExp
in interface Visitor<java.lang.Object>
visitUnspecifiedValueExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitVariable(@NonNull Variable variable)
visitVariable
in interface Visitor<java.lang.Object>
visitVariable
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>
public java.lang.Object visitVariableExp(@NonNull VariableExp variableExp)
visitVariableExp
in interface Visitor<java.lang.Object>
visitVariableExp
in class AbstractExtendingVisitor<java.lang.Object,java.lang.Object>