Class VariablesMap
- java.lang.Object
-
- net.ssehub.easy.reasoning.sseReasoner.model.VariablesMap
-
public class VariablesMap extends java.lang.ObjectRepresents all variable and constraint relationships. This class consists of two three mappings:- All variable declarations used in constraints (
declConstraintMapping). - Constraint - decision variable relations
- Constraint assigned to a constraint decision variable {
constraintVariableMap} - decision variables assigned to constraints, multiple in case of collections
(
variableConstraintsMap}
- Author:
- sizonenko, Holger Eichelberger
- All variable declarations used in constraints (
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<Constraint,IDecisionVariable>constraintVariableMapprivate java.util.Map<AbstractVariable,java.util.Set<Constraint>>declConstraintMappingprivate java.util.Map<IDecisionVariable,java.util.List<Constraint>>variableConstraintsMap
-
Constructor Summary
Constructors Constructor Description VariablesMap()Sole constructor initializing the map.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(AbstractVariable declaration, Constraint constraint)Adds a relationship between variable and constraint.voidaddAll(IDecisionVariable variable, ConstraintList constraints)Relates allconstraintsto the declaration ofvariableand the declarations of all parent variables ofvariable.voidaddAll(AbstractVariable declaration, ConstraintList constraints)Relates allconstraintstodeclaration.voidclear()Clears this instance for reuse.voidcopyFrom(VariablesMap map)Copies all registrations frommap.java.util.List<Constraint>getConstraintsForVariable(IConfigurationElement variable)Returns the constraints registered forvariable.IDecisionVariablegetDecisionVariableForConstraint(Constraint constraint)Returns the decision variable forconstraint.intgetDeclarationSize()Number of all variables found in constraints (should be replacesd by other method detecting nuber of variables in the model).java.util.Set<Constraint>getRelevantConstraints(AbstractVariable declaration)Returns all constraints, where the specifies declaration was used inside.private java.util.Set<Constraint>obtainConstraintSet(AbstractVariable declaration)Returns the constraint set fordeclaration.voidregisterConstraint(IDecisionVariable variable, Constraint constraint)Registersconstraintwith constraint variablevariable.voidremove(AbstractVariable declaration, Constraint constraint)Removes a relationship between variable and constraint.voidremoveAll(IDecisionVariable variable, java.util.Collection<Constraint> constraints)Unrelates allconstraintsfrom the declaration ofvariableand all declarations of parent variables ofvariable.voidremoveAll(AbstractVariable declaration, java.util.Collection<Constraint> constraints)Unrelates allconstraintsfromdeclaration.voidunregisterConstraint(IDecisionVariable variable, Constraint constraint)Unregisters a constraint from a decision variable.
-
-
-
Field Detail
-
declConstraintMapping
private java.util.Map<AbstractVariable,java.util.Set<Constraint>> declConstraintMapping
-
constraintVariableMap
private java.util.Map<Constraint,IDecisionVariable> constraintVariableMap
-
variableConstraintsMap
private java.util.Map<IDecisionVariable,java.util.List<Constraint>> variableConstraintsMap
-
-
Method Detail
-
add
public void add(AbstractVariable declaration, Constraint constraint)
Adds a relationship between variable and constraint.- Parameters:
declaration-AbstractVariableto be added.constraint-Constraintthat holds addeddeclaration.
-
remove
public void remove(AbstractVariable declaration, Constraint constraint)
Removes a relationship between variable and constraint.- Parameters:
declaration-AbstractVariableto be removed.constraint-Constraintthat holds addeddeclaration.
-
obtainConstraintSet
private java.util.Set<Constraint> obtainConstraintSet(AbstractVariable declaration)
Returns the constraint set fordeclaration.- Parameters:
declaration- the declaration- Returns:
- the constraint set (may be null for none)
-
getRelevantConstraints
public java.util.Set<Constraint> getRelevantConstraints(AbstractVariable declaration)
Returns all constraints, where the specifies declaration was used inside.- Parameters:
declaration- A declaration for which all constaints using this declaration should be returned. Must not be null.- Returns:
- The list of all constraints where the declaration was used, maybe null if it was never used.
-
getDeclarationSize
public int getDeclarationSize()
Number of all variables found in constraints (should be replacesd by other method detecting nuber of variables in the model).- Returns:
- Number of variables found in constaints.
-
clear
public void clear()
Clears this instance for reuse.- See Also:
#clearConstraintVariables()
-
addAll
public void addAll(IDecisionVariable variable, ConstraintList constraints)
Relates allconstraintsto the declaration ofvariableand the declarations of all parent variables ofvariable.- Parameters:
variable- the variable to relate toconstraints- the constraints to relate
-
addAll
public void addAll(AbstractVariable declaration, ConstraintList constraints)
Relates allconstraintstodeclaration.- Parameters:
declaration- the declaration to relate toconstraints- the constraints to relate
-
removeAll
public void removeAll(IDecisionVariable variable, java.util.Collection<Constraint> constraints)
Unrelates allconstraintsfrom the declaration ofvariableand all declarations of parent variables ofvariable.- Parameters:
variable- the variable to relate toconstraints- the constraints to unrelate
-
removeAll
public void removeAll(AbstractVariable declaration, java.util.Collection<Constraint> constraints)
Unrelates allconstraintsfromdeclaration.- Parameters:
declaration- the declaration to relate toconstraints- the constraints to relate
-
registerConstraint
public void registerConstraint(IDecisionVariable variable, Constraint constraint)
Registersconstraintwith constraint variablevariable.- Parameters:
variable- the variableconstraint- the constraint
-
unregisterConstraint
public void unregisterConstraint(IDecisionVariable variable, Constraint constraint)
Unregisters a constraint from a decision variable.- Parameters:
variable- the variableconstraint- the constraint
-
getConstraintsForVariable
public java.util.List<Constraint> getConstraintsForVariable(IConfigurationElement variable)
Returns the constraints registered forvariable.- Parameters:
variable- the variable- Returns:
- the constraints (may be null)
-
getDecisionVariableForConstraint
public IDecisionVariable getDecisionVariableForConstraint(Constraint constraint)
Returns the decision variable forconstraint.- Parameters:
constraint- the constraint to return the assigned decision variable for- Returns:
- the decision variable or null for none
-
copyFrom
public void copyFrom(VariablesMap map)
Copies all registrations frommap.- Parameters:
map- the map to copy from
-
-