Defines an interface for defining different methods for selecting next search
decision to be taken. The search decision called choice point will be first
enforced and later upon backtrack a negation of that search decision will be
It returns the variable which is the base on the next choice point. Only
if choice is of an X = C type. This function returns null if all
variables have a value assigned or a choice point based on other type of
constraint is being selected. The parameter index is the last variable which
have been return by this SelectChoicePoint object which has not been
backtracked upon yet.
index - the position of the last variable in selection choice point heuristic.
variable based on which the choice needs to be created.
It returns a value which is the base of the next choice point. Only if
choice is of an getChoiceVariable() = getChoiceValue() type.
It returns the constraint which is the base of the choice point. If the
return value is equal to null and choice point is also not based on X = C
type of constraint then all variables have been assigned a value.
index - the position of the last variable returned by selection choice point heuristic.
primitive constraint which is a base of a choice point.