Class AbstractVariableDescriptorBasedDemand<Solution_,Supply_ extends Supply>

java.lang.Object
org.optaplanner.core.impl.domain.variable.supply.AbstractVariableDescriptorBasedDemand<Solution_,Supply_>
Type Parameters:
Solution_ -
Supply_ -
All Implemented Interfaces:
Demand<Supply_>
Direct Known Subclasses:
AnchorVariableDemand, CollectionInverseVariableDemand, IndexVariableDemand, SingletonInverseVariableDemand, SingletonListInverseVariableDemand

public abstract class AbstractVariableDescriptorBasedDemand<Solution_,Supply_ extends Supply> extends Object implements Demand<Supply_>
Some Demand implementation classes are defined by their VariableDescriptor and nothing else. However, they still must not equal (and therefore have the same hashCode()) as other Demand implementation classes defined by the same VariableDescriptor. This helper abstraction exists so that this logic can be shared across all such Demand implementations.