Class ConstantValueResolver
- java.lang.Object
-
- net.ssehub.easy.varModel.cstEvaluation.ConstantValueResolver
-
- All Implemented Interfaces:
IValueVisitor
class ConstantValueResolver extends java.lang.Object implements IValueVisitor
Implements a constant value resolution visitor. During resolution, individual values may be cloned, in particular if resolution may change individual parts, e.g., from an expression to a constant.- Author:
- Holger Eichelberger
-
-
Field Summary
Fields Modifier and Type Field Description private EvaluationVisitorevaluatorprivate Valuevalue
-
Constructor Summary
Constructors Constructor Description ConstantValueResolver(EvaluationVisitor evaluator)Creates a resolver instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) ValuegetValue()Returns the resolved value and clears the internal state.voidvisitBooleanValue(BooleanValue value)This method is used for visiting BooleanValue.voidvisitCompoundValue(CompoundValue value)This method is used for visiting CompoundValue.voidvisitConstraintValue(ConstraintValue value)This method is used for visiting ConstraintValue.voidvisitContainerValue(ContainerValue value)This method is used for visiting ContainerValue.voidvisitEnumValue(EnumValue value)This method is used for visiting EnumValue.voidvisitIntValue(IntValue value)This method is used for visiting IntValue.voidvisitMetaTypeValue(MetaTypeValue value)This method is used for visiting meta type value.voidvisitNullValue(NullValue value)This method is used for visiting a null value.voidvisitRealValue(RealValue value)This method is used for visiting RealValue.voidvisitReferenceValue(ReferenceValue referenceValue)This method is used for visiting referenceValue.voidvisitStringValue(StringValue value)This method is used for visiting StringValue.voidvisitVersionValue(VersionValue value)This method is used for visiting a version value.
-
-
-
Field Detail
-
evaluator
private EvaluationVisitor evaluator
-
value
private Value value
-
-
Constructor Detail
-
ConstantValueResolver
ConstantValueResolver(EvaluationVisitor evaluator)
Creates a resolver instance.- Parameters:
evaluator- the evaluator used to evaluate nested expression
-
-
Method Detail
-
getValue
Value getValue()
Returns the resolved value and clears the internal state.- Returns:
- the resolved value, may be null if resolution fails
-
visitConstraintValue
public void visitConstraintValue(ConstraintValue value)
Description copied from interface:IValueVisitorThis method is used for visiting ConstraintValue.- Specified by:
visitConstraintValuein interfaceIValueVisitor- Parameters:
value- One ConstraintValue which should be visited.
-
visitEnumValue
public void visitEnumValue(EnumValue value)
Description copied from interface:IValueVisitorThis method is used for visiting EnumValue.- Specified by:
visitEnumValuein interfaceIValueVisitor- Parameters:
value- One EnumValue which should be visited.
-
visitStringValue
public void visitStringValue(StringValue value)
Description copied from interface:IValueVisitorThis method is used for visiting StringValue.- Specified by:
visitStringValuein interfaceIValueVisitor- Parameters:
value- One StringValue which should be visited.
-
visitCompoundValue
public void visitCompoundValue(CompoundValue value)
Description copied from interface:IValueVisitorThis method is used for visiting CompoundValue.- Specified by:
visitCompoundValuein interfaceIValueVisitor- Parameters:
value- One CompoundValue which should be visited.
-
visitContainerValue
public void visitContainerValue(ContainerValue value)
Description copied from interface:IValueVisitorThis method is used for visiting ContainerValue.- Specified by:
visitContainerValuein interfaceIValueVisitor- Parameters:
value- One CompoundValue which should be visited.
-
visitIntValue
public void visitIntValue(IntValue value)
Description copied from interface:IValueVisitorThis method is used for visiting IntValue.- Specified by:
visitIntValuein interfaceIValueVisitor- Parameters:
value- One IntValue which should be visited.
-
visitRealValue
public void visitRealValue(RealValue value)
Description copied from interface:IValueVisitorThis method is used for visiting RealValue.- Specified by:
visitRealValuein interfaceIValueVisitor- Parameters:
value- One RealValue which should be visited.
-
visitBooleanValue
public void visitBooleanValue(BooleanValue value)
Description copied from interface:IValueVisitorThis method is used for visiting BooleanValue.- Specified by:
visitBooleanValuein interfaceIValueVisitor- Parameters:
value- One BooleanValue which should be visited.
-
visitReferenceValue
public void visitReferenceValue(ReferenceValue referenceValue)
Description copied from interface:IValueVisitorThis method is used for visiting referenceValue.- Specified by:
visitReferenceValuein interfaceIValueVisitor- Parameters:
referenceValue- One referenceValue which should be visited.
-
visitMetaTypeValue
public void visitMetaTypeValue(MetaTypeValue value)
Description copied from interface:IValueVisitorThis method is used for visiting meta type value.- Specified by:
visitMetaTypeValuein interfaceIValueVisitor- Parameters:
value- a value which should be visited.
-
visitNullValue
public void visitNullValue(NullValue value)
Description copied from interface:IValueVisitorThis method is used for visiting a null value.- Specified by:
visitNullValuein interfaceIValueVisitor- Parameters:
value- a value which should be visited (actuallyNullValue.INSTANCE).
-
visitVersionValue
public void visitVersionValue(VersionValue value)
Description copied from interface:IValueVisitorThis method is used for visiting a version value.- Specified by:
visitVersionValuein interfaceIValueVisitor- Parameters:
value- a value which should be visited.
-
-