V
- VariableT
- ValueC
- Assignment Contextpublic abstract class VariableWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext> extends Variable<V,T> implements HasAssignmentContext<V,T,C>, CanHoldContext
AssignmentContext
interface). This context is created by calling
HasAssignmentContext.createAssignmentContext(Assignment)
and accessed by
ConstraintWithContext.getContext(Assignment)
.AssignmentContext
sMaxSize
Constructor and Description |
---|
VariableWithContext()
Constructor
|
VariableWithContext(T initialValue)
Constructor
|
Modifier and Type | Method and Description |
---|---|
AssignmentContextReference<V,T,C> |
getAssignmentContextReference()
Returns an assignment context reference
|
AssignmentContext[] |
getContext()
An array of
CanHoldContext.sMaxSize assignment contexts |
C |
getContext(Assignment<V,T> assignment)
Returns an assignment context associated with this extension.
|
void |
setAssignmentContextReference(AssignmentContextReference<V,T,C> reference)
Store an assignment context reference that was given for the class by the
Model.createReference(HasAssignmentContext) . |
void |
setModel(Model<V,T> model)
Set the model to which the variable belongs to
|
addContstraint, addVariableListener, assign, compareTo, constraints, constraintVariables, equals, getAssignment, getAssignment, getAssignments, getBestAssignment, getBestAssignmentIteration, getDescription, getExtra, getId, getIndex, getInitialAssignment, getLastIteration, getModel, getName, getVariableListeners, hardConstraints, hasAssignment, hasAssignment, hashCode, hasInitialAssignment, hasValues, removeContstraint, removeInitialValue, removeValue, removeVariableListener, setAssignment, setBestAssignment, setExtra, setIndex, setInitialAssignment, setLastIteration, setValues, softConstraints, toString, unassign, values, values, variableAssigned, variableUnassigned
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
createAssignmentContext
public VariableWithContext()
public VariableWithContext(T initialValue)
initialValue
- initial value (minimal-perturbation problem)public void setModel(Model<V,T> model)
Variable
public C getContext(Assignment<V,T> assignment)
HasAssignmentContext.createAssignmentContext(Assignment)
method. From that time on,
this context is kept with the assignment.getContext
in interface HasAssignmentContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>
assignment
- given assignmentpublic AssignmentContextReference<V,T,C> getAssignmentContextReference()
HasAssignmentContext
getAssignmentContextReference
in interface HasAssignmentContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>
Model.createReference(HasAssignmentContext)
during initializationpublic void setAssignmentContextReference(AssignmentContextReference<V,T,C> reference)
HasAssignmentContext
Model.createReference(HasAssignmentContext)
.setAssignmentContextReference
in interface HasAssignmentContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>
reference
- reference provided by the model by calling Model.createReference(HasAssignmentContext)
during initializationpublic AssignmentContext[] getContext()
CanHoldContext
CanHoldContext.sMaxSize
assignment contextsgetContext
in interface CanHoldContext