Class ConstraintFinder
java.lang.Object
net.ssehub.easy.varModel.model.filter.ConstraintFinder
- All Implemented Interfaces:
ICustomDatatypeVisitor,IModelVisitor
This class locates all (visible) constraints in an IVML project.
- Author:
- El-Sharkawy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate List<AttributeAssignment> private booleanprivate List<Constraint> private List<Constraint> private booleanprivate booleanprivate boolean -
Constructor Summary
ConstructorsConstructorDescriptionConstraintFinder(Project project) This constructor will consider imported projects.ConstraintFinder(Project project, boolean considerImports) Constructor for specifying whether imported projects should be considered while finding the constraints.ConstraintFinder(Project project, boolean considerImports, boolean excludeAssignments) Constructor for specifying whether imported projects should be considered while finding the constraints.ConstraintFinder(Project project, boolean considerImports, boolean excludeAssignments, boolean handleEvals) Constructor for specifying whether imported projects should be considered while finding the constraints. -
Method Summary
Modifier and TypeMethodDescriptionMethod for returning all attribute assignments.Getter for returning all constraints (except eval) of an ivml project.Getter for returning eval constraints of an ivml project.protected voidstartAccept(Project project) Starts accepting in the constructor.voidvisitAttribute(Attribute attribute) Method for visiting an attribute.voidvisitAttributeAssignment(AttributeAssignment assignment) Visits an attribute assignment.voidvisitComment(Comment comment) Method for visiting a comment.voidvisitCompound(Compound compound) Method for visiting a compound.voidVisits a compound access statement (may occur in freeze blocks.voidvisitConstraint(Constraint constraint) Method for visiting a constraint.voidThis method is used for visiting a decision variable declaration.voidvisitDerivedDatatype(DerivedDatatype datatype) Method for visiting a derived datatype.voidMethod for visiting an enum.voidvisitEnumLiteral(EnumLiteral literal) Method for visiting an enum literal.voidvisitFreezeBlock(FreezeBlock freeze) Method for visiting a freeze block.voidMethod for visiting an operation definition.voidvisitOrderedEnum(OrderedEnum eenum) Method for visiting an ordered enum.voidMethod for visiting a partial evaluation block.voidvisitProject(Project project) Method for visiting a project.voidvisitProjectImport(ProjectImport pImport) This method is used for visiting a ProjectImport.voidMethod for visiting a project interface.voidvisitReference(Reference reference) Method for visiting a reference.voidvisitSequence(Sequence sequence) Method for visiting a sequence.voidMethod for visiting a set.
-
Field Details
-
constraints
-
evalConstraints
-
considerImports
private boolean considerImports -
excludeAssignments
private boolean excludeAssignments -
isEvalConstraint
private boolean isEvalConstraint -
handleEvals
private boolean handleEvals -
allAttributes
-
-
Constructor Details
-
ConstraintFinder
This constructor will consider imported projects.- Parameters:
project- The project, where all constraints should be found.
-
ConstraintFinder
Constructor for specifying whether imported projects should be considered while finding the constraints.- Parameters:
project- The project, where all constraints should be found.considerImports-trueif constraints of imported projects should also be found
-
ConstraintFinder
Constructor for specifying whether imported projects should be considered while finding the constraints.- Parameters:
project- The project, where all constraints should be found.considerImports-trueif constraints of imported projects should also be foundexcludeAssignments- whether top-level assignments shall be excluded
-
ConstraintFinder
public ConstraintFinder(Project project, boolean considerImports, boolean excludeAssignments, boolean handleEvals) Constructor for specifying whether imported projects should be considered while finding the constraints.- Parameters:
project- The project, where all constraints should be found.considerImports-trueif constraints of imported projects should also be foundexcludeAssignments- whether top-level assignments shall be excludedhandleEvals- whether eval constraints should be separated from all constraints.
-
-
Method Details
-
startAccept
Starts accepting in the constructor. Overridden to allow for further initializations.- Parameters:
project- the project to start accepting
-
getConstraints
Getter for returning all constraints (except eval) of an ivml project.- Returns:
- A list of all constraints in the specified ivml project.
-
getEvalConstraints
Getter for returning eval constraints of an ivml project.- Returns:
- A list of eval constraints in the specified ivml project.
-
getAttributeAssignments
Method for returning all attribute assignments.- Returns:
- All attribute assignments.
-
visitEnum
Description copied from interface:ICustomDatatypeVisitorMethod for visiting an enum.- Specified by:
visitEnumin interfaceICustomDatatypeVisitor- Parameters:
eenum- The enum which should be visited.
-
visitOrderedEnum
Description copied from interface:ICustomDatatypeVisitorMethod for visiting an ordered enum.- Specified by:
visitOrderedEnumin interfaceICustomDatatypeVisitor- Parameters:
eenum- The enum which should be visited.
-
visitCompound
Description copied from interface:ICustomDatatypeVisitorMethod for visiting a compound.- Specified by:
visitCompoundin interfaceICustomDatatypeVisitor- Parameters:
compound- The compound which should be visited.
-
visitAttributeAssignment
Description copied from interface:IModelVisitorVisits an attribute assignment.- Specified by:
visitAttributeAssignmentin interfaceIModelVisitor- Parameters:
assignment- the assignment to visit
-
visitDerivedDatatype
Description copied from interface:ICustomDatatypeVisitorMethod for visiting a derived datatype.- Specified by:
visitDerivedDatatypein interfaceICustomDatatypeVisitor- Parameters:
datatype- The datatype which should be visited.
-
visitEnumLiteral
Description copied from interface:ICustomDatatypeVisitorMethod for visiting an enum literal.- Specified by:
visitEnumLiteralin interfaceICustomDatatypeVisitor- Parameters:
literal- The literal which should be visited.
-
visitReference
Description copied from interface:ICustomDatatypeVisitorMethod for visiting a reference.- Specified by:
visitReferencein interfaceICustomDatatypeVisitor- Parameters:
reference- The reference which should be visited.
-
visitSequence
Description copied from interface:ICustomDatatypeVisitorMethod for visiting a sequence.- Specified by:
visitSequencein interfaceICustomDatatypeVisitor- Parameters:
sequence- The sequence which should be visited.
-
visitSet
Description copied from interface:ICustomDatatypeVisitorMethod for visiting a set.- Specified by:
visitSetin interfaceICustomDatatypeVisitor- Parameters:
set- The set which should be visited.
-
visitProject
Description copied from interface:IModelVisitorMethod for visiting a project.- Specified by:
visitProjectin interfaceIModelVisitor- Parameters:
project- The project which should be visited.
-
visitProjectImport
Description copied from interface:IModelVisitorThis method is used for visiting a ProjectImport.- Specified by:
visitProjectImportin interfaceIModelVisitor- Parameters:
pImport- One ProjectImport which should be visited.
-
visitDecisionVariableDeclaration
Description copied from interface:IModelVisitorThis method is used for visiting a decision variable declaration.- Specified by:
visitDecisionVariableDeclarationin interfaceIModelVisitor- Parameters:
decl- One declaration which should be visited.
-
visitAttribute
Description copied from interface:IModelVisitorMethod for visiting an attribute.- Specified by:
visitAttributein interfaceIModelVisitor- Parameters:
attribute- The attribute which should be visited.
-
visitConstraint
Description copied from interface:IModelVisitorMethod for visiting a constraint.- Specified by:
visitConstraintin interfaceIModelVisitor- Parameters:
constraint- The constraint which should be visited.
-
visitFreezeBlock
Description copied from interface:IModelVisitorMethod for visiting a freeze block.- Specified by:
visitFreezeBlockin interfaceIModelVisitor- Parameters:
freeze- The freeze block which should be visited.
-
visitOperationDefinition
Description copied from interface:IModelVisitorMethod for visiting an operation definition.- Specified by:
visitOperationDefinitionin interfaceIModelVisitor- Parameters:
opdef- The operation definition which should be visited.
-
visitPartialEvaluationBlock
Description copied from interface:IModelVisitorMethod for visiting a partial evaluation block.- Specified by:
visitPartialEvaluationBlockin interfaceIModelVisitor- Parameters:
block- The partial evaluation block which should be visited.
-
visitProjectInterface
Description copied from interface:IModelVisitorMethod for visiting a project interface.- Specified by:
visitProjectInterfacein interfaceIModelVisitor- Parameters:
iface- The interface which should be visited.
-
visitComment
Description copied from interface:IModelVisitorMethod for visiting a comment.- Specified by:
visitCommentin interfaceIModelVisitor- Parameters:
comment- the comment to visit
-
visitCompoundAccessStatement
Description copied from interface:IModelVisitorVisits a compound access statement (may occur in freeze blocks.- Specified by:
visitCompoundAccessStatementin interfaceIModelVisitor- Parameters:
access- the access statement
-