Class EvalVisitor
- java.lang.Object
-
- net.ssehub.easy.varModel.cstEvaluation.EvaluationVisitor
-
- net.ssehub.easy.reasoning.sseReasoner.EvalVisitor
-
- All Implemented Interfaces:
IConstraintTreeVisitor,IConstraintEvaluator
public class EvalVisitor extends EvaluationVisitor
This class shall extendEvaluationVisitorfor using it in the Reasoning plugin.- Author:
- Sizonenko
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.ssehub.easy.varModel.cstEvaluation.EvaluationVisitor
EvaluationVisitor.Message
-
-
Field Summary
Fields Modifier and Type Field Description private ScopeAssignmentsscopeAssignments-
Fields inherited from class net.ssehub.easy.varModel.cstEvaluation.EvaluationVisitor
assignmentState
-
-
Constructor Summary
Constructors Constructor Description EvalVisitor()Creates an evaluation visitor.EvalVisitor(IConfiguration config, IAssignmentState assignmentState, boolean assignmentsOnly, IValueChangeListener listener)Constructor for initializing superclass.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Clears the visitor for reuse (including the dispatch scope and the context).protected IAssignmentStategetTargetState(IDecisionVariable var)Returns the target state for a variable which is actually being assigned.private booleanisAssignable(IDecisionVariable var, IDecisionVariable compound)Method for determining if variable is valid for value assignment.voidsetScopeAssignments(ScopeAssignments scopeAssignments)Method for setting ScopeAssignments register to check if variable was already assigned in this scope.private booleanwasAssignedInThisScope(IDecisionVariable var, IDecisionVariable compound)Method for determining if variable was already aasigned in this scope.-
Methods inherited from class net.ssehub.easy.varModel.cstEvaluation.EvaluationVisitor
clearIntermediary, clearResult, constraintFailed, constraintFailed, constraintFulfilled, constraintFulfilled, constraintIsAWarning, constraintUndefined, constraintUndefined, getFailedExpression, getIteratorEvaluator, getMessage, getMessageCount, getOperationEvaluator, getResult, getResultAccessor, getResultVariable, init, setAssignmentState, setDispatchScope, setResolutionListener, setResultAcessor, setSelfValue, setValueChangeListener, visit, visitAnnotationVariable, visitBlockExpression, visitComment, visitCompoundAccess, visitCompoundInitializer, visitConstantValue, visitContainerInitializer, visitContainerOperationCall, visitIfThen, visitLet, visitMultiAndExpression, visitOclFeatureCall, visitParenthesis, visitSelf, visitUnresolvedExpression, visitVariable
-
-
-
-
Field Detail
-
scopeAssignments
private ScopeAssignments scopeAssignments
-
-
Constructor Detail
-
EvalVisitor
public EvalVisitor()
Creates an evaluation visitor.
-
EvalVisitor
public EvalVisitor(IConfiguration config, IAssignmentState assignmentState, boolean assignmentsOnly, IValueChangeListener listener)
Constructor for initializing superclass.- Parameters:
config- the configuration to take already evaluated values fromassignmentState- the state for the assignments (may be null if no assignment shall take place)assignmentsOnly- if true process only assignments, else process all constraintslistener- listener a listener to notify some external mechanism about a changed variable
-
-
Method Detail
-
clear
public void clear()
Description copied from class:EvaluationVisitorClears the visitor for reuse (including the dispatch scope and the context).- Overrides:
clearin classEvaluationVisitor- See Also:
EvaluationVisitor.clearIntermediary()
-
setScopeAssignments
public void setScopeAssignments(ScopeAssignments scopeAssignments)
Method for setting ScopeAssignments register to check if variable was already assigned in this scope.- Parameters:
scopeAssignments- register.
-
getTargetState
protected IAssignmentState getTargetState(IDecisionVariable var)
Description copied from class:EvaluationVisitorReturns the target state for a variable which is actually being assigned. This method is intended to be overriden if state conflicts shall be checked before assignment.- Overrides:
getTargetStatein classEvaluationVisitor- Parameters:
var- variable- Returns:
- the target state for the variable, may be null if assignment is not permitted
-
isAssignable
private boolean isAssignable(IDecisionVariable var, IDecisionVariable compound)
Method for determining if variable is valid for value assignment.- Parameters:
var- Variable to be checked.compound- Parent compound (might be null).- Returns:
- true if assignment is valid.
-
wasAssignedInThisScope
private boolean wasAssignedInThisScope(IDecisionVariable var, IDecisionVariable compound)
Method for determining if variable was already aasigned in this scope.- Parameters:
var- Variable to be checked.compound- Parent compound (might be null).- Returns:
- true if assignment is valid.
-
-