Class CheckInitializerVisitor
java.lang.Object
net.ssehub.easy.varModel.model.values.ValueVisitorAdapter
net.ssehub.easy.reasoning.sseReasoner.CheckInitializerVisitor
- All Implemented Interfaces:
net.ssehub.easy.varModel.cst.IConstraintTreeVisitor,net.ssehub.easy.varModel.model.values.IValueVisitor
class CheckInitializerVisitor
extends net.ssehub.easy.varModel.model.values.ValueVisitorAdapter
implements net.ssehub.easy.varModel.cst.IConstraintTreeVisitor
Visits constraints and checks for contained constraints for constraint variables. Call
accept(ContainerConstraintsFinder, IModelElement, IDecisionVariable) to use.
This visitor is inherently reusable as instance.- Author:
- Holger Eichelberger
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate net.ssehub.easy.varModel.cst.ConstraintSyntaxTreeprivate net.ssehub.easy.varModel.cst.ConstraintSyntaxTreeprivate booleanprivate net.ssehub.easy.varModel.model.IModelElementprivate booleanprivate Resolverprivate booleanprivate net.ssehub.easy.varModel.model.values.Valueprivate net.ssehub.easy.varModel.confModel.IDecisionVariable -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionnet.ssehub.easy.varModel.cst.ConstraintSyntaxTreeaccept(net.ssehub.easy.varModel.cst.ConstraintSyntaxTree cst, net.ssehub.easy.varModel.model.IModelElement parent, net.ssehub.easy.varModel.confModel.IDecisionVariable variable) Accepts the results of a container constraints finder and derives constraints from the contained constraints / constraint values.private voidcheckForConstraint(net.ssehub.easy.varModel.model.datatypes.IDatatype type, net.ssehub.easy.varModel.cst.ConstraintSyntaxTree cst, net.ssehub.easy.varModel.confModel.IDecisionVariable register) Checks for a constraint expression.private voidcreateConstraintFromValue(net.ssehub.easy.varModel.model.values.Value value) Creates a constraint from a value.voidvisitAnnotationVariable(net.ssehub.easy.varModel.cst.AttributeVariable variable) voidvisitBlockExpression(net.ssehub.easy.varModel.cst.BlockExpression block) voidvisitBooleanValue(net.ssehub.easy.varModel.model.values.BooleanValue value) voidvisitComment(net.ssehub.easy.varModel.cst.Comment comment) voidvisitCompoundAccess(net.ssehub.easy.varModel.cst.CompoundAccess access) voidvisitCompoundInitializer(net.ssehub.easy.varModel.cst.CompoundInitializer compoundInit) voidvisitCompoundValue(net.ssehub.easy.varModel.model.values.CompoundValue value) voidvisitConstantValue(net.ssehub.easy.varModel.cst.ConstantValue value) voidvisitConstraintValue(net.ssehub.easy.varModel.model.values.ConstraintValue value) voidvisitContainerInitializer(net.ssehub.easy.varModel.cst.ContainerInitializer containerInit) voidvisitContainerOperationCall(net.ssehub.easy.varModel.cst.ContainerOperationCall call) voidvisitContainerValue(net.ssehub.easy.varModel.model.values.ContainerValue value) voidvisitDeferInitExpression(net.ssehub.easy.varModel.cst.DeferInitExpression expression) voidvisitIfThen(net.ssehub.easy.varModel.cst.IfThen ifThen) voidvisitLet(net.ssehub.easy.varModel.cst.Let let) voidvisitMultiAndExpression(net.ssehub.easy.varModel.cst.MultiAndExpression expression) voidvisitOclFeatureCall(net.ssehub.easy.varModel.cst.OCLFeatureCall call) voidvisitParenthesis(net.ssehub.easy.varModel.cst.Parenthesis parenthesis) voidvisitSelf(net.ssehub.easy.varModel.cst.Self self) voidvisitUnresolvedExpression(net.ssehub.easy.varModel.cst.UnresolvedExpression expression) voidvisitVariable(net.ssehub.easy.varModel.cst.Variable variable) Methods inherited from class net.ssehub.easy.varModel.model.values.ValueVisitorAdapter
visitEnumValue, visitIntValue, visitMetaTypeValue, visitNullValue, visitRealValue, visitReferenceValue, visitStringValue, visitVersionValue
-
Field Details
-
resolver
-
isCompoundInitializer
private boolean isCompoundInitializer -
expression
private net.ssehub.easy.varModel.cst.ConstraintSyntaxTree expression -
value
private net.ssehub.easy.varModel.model.values.Value value -
process
private boolean process -
variable
private net.ssehub.easy.varModel.confModel.IDecisionVariable variable -
parent
private net.ssehub.easy.varModel.model.IModelElement parent -
substituteVars
private boolean substituteVars -
cst
private net.ssehub.easy.varModel.cst.ConstraintSyntaxTree cst
-
-
Constructor Details
-
CheckInitializerVisitor
Creates the visitor.- Parameters:
resolver- the resolver instance to use for transforming and adding constraints
-
-
Method Details
-
accept
public net.ssehub.easy.varModel.cst.ConstraintSyntaxTree accept(net.ssehub.easy.varModel.cst.ConstraintSyntaxTree cst, net.ssehub.easy.varModel.model.IModelElement parent, net.ssehub.easy.varModel.confModel.IDecisionVariable variable) Accepts the results of a container constraints finder and derives constraints from the contained constraints / constraint values.- Parameters:
cst- the constraint to accept / visitparent- parent for temporary constraintsvariable- the actually (nested) variable, used to relate the created constraint to, may be null- Returns:
- cst or a modified version of it
-
visitCompoundValue
public void visitCompoundValue(net.ssehub.easy.varModel.model.values.CompoundValue value) - Specified by:
visitCompoundValuein interfacenet.ssehub.easy.varModel.model.values.IValueVisitor- Overrides:
visitCompoundValuein classnet.ssehub.easy.varModel.model.values.ValueVisitorAdapter
-
visitContainerValue
public void visitContainerValue(net.ssehub.easy.varModel.model.values.ContainerValue value) - Specified by:
visitContainerValuein interfacenet.ssehub.easy.varModel.model.values.IValueVisitor- Overrides:
visitContainerValuein classnet.ssehub.easy.varModel.model.values.ValueVisitorAdapter
-
visitConstraintValue
public void visitConstraintValue(net.ssehub.easy.varModel.model.values.ConstraintValue value) - Specified by:
visitConstraintValuein interfacenet.ssehub.easy.varModel.model.values.IValueVisitor- Overrides:
visitConstraintValuein classnet.ssehub.easy.varModel.model.values.ValueVisitorAdapter
-
visitBooleanValue
public void visitBooleanValue(net.ssehub.easy.varModel.model.values.BooleanValue value) - Specified by:
visitBooleanValuein interfacenet.ssehub.easy.varModel.model.values.IValueVisitor- Overrides:
visitBooleanValuein classnet.ssehub.easy.varModel.model.values.ValueVisitorAdapter
-
createConstraintFromValue
private void createConstraintFromValue(net.ssehub.easy.varModel.model.values.Value value) Creates a constraint from a value.- Parameters:
value- the value
-
visitCompoundInitializer
public void visitCompoundInitializer(net.ssehub.easy.varModel.cst.CompoundInitializer compoundInit) - Specified by:
visitCompoundInitializerin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitContainerInitializer
public void visitContainerInitializer(net.ssehub.easy.varModel.cst.ContainerInitializer containerInit) - Specified by:
visitContainerInitializerin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
checkForConstraint
private void checkForConstraint(net.ssehub.easy.varModel.model.datatypes.IDatatype type, net.ssehub.easy.varModel.cst.ConstraintSyntaxTree cst, net.ssehub.easy.varModel.confModel.IDecisionVariable register) Checks for a constraint expression. ConsiderssubstituteVars.- Parameters:
type- the actual data typecst- the constraint expressionregister- the variable to register new constraints for, may be null
-
visitConstantValue
public void visitConstantValue(net.ssehub.easy.varModel.cst.ConstantValue value) - Specified by:
visitConstantValuein interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitVariable
public void visitVariable(net.ssehub.easy.varModel.cst.Variable variable) - Specified by:
visitVariablein interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitAnnotationVariable
public void visitAnnotationVariable(net.ssehub.easy.varModel.cst.AttributeVariable variable) - Specified by:
visitAnnotationVariablein interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitParenthesis
public void visitParenthesis(net.ssehub.easy.varModel.cst.Parenthesis parenthesis) - Specified by:
visitParenthesisin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitComment
public void visitComment(net.ssehub.easy.varModel.cst.Comment comment) - Specified by:
visitCommentin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitOclFeatureCall
public void visitOclFeatureCall(net.ssehub.easy.varModel.cst.OCLFeatureCall call) - Specified by:
visitOclFeatureCallin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitLet
public void visitLet(net.ssehub.easy.varModel.cst.Let let) - Specified by:
visitLetin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitIfThen
public void visitIfThen(net.ssehub.easy.varModel.cst.IfThen ifThen) - Specified by:
visitIfThenin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitContainerOperationCall
public void visitContainerOperationCall(net.ssehub.easy.varModel.cst.ContainerOperationCall call) - Specified by:
visitContainerOperationCallin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitCompoundAccess
public void visitCompoundAccess(net.ssehub.easy.varModel.cst.CompoundAccess access) - Specified by:
visitCompoundAccessin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitUnresolvedExpression
public void visitUnresolvedExpression(net.ssehub.easy.varModel.cst.UnresolvedExpression expression) - Specified by:
visitUnresolvedExpressionin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitSelf
public void visitSelf(net.ssehub.easy.varModel.cst.Self self) - Specified by:
visitSelfin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitBlockExpression
public void visitBlockExpression(net.ssehub.easy.varModel.cst.BlockExpression block) - Specified by:
visitBlockExpressionin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitDeferInitExpression
public void visitDeferInitExpression(net.ssehub.easy.varModel.cst.DeferInitExpression expression) - Specified by:
visitDeferInitExpressionin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-
visitMultiAndExpression
public void visitMultiAndExpression(net.ssehub.easy.varModel.cst.MultiAndExpression expression) - Specified by:
visitMultiAndExpressionin interfacenet.ssehub.easy.varModel.cst.IConstraintTreeVisitor
-