Interface ValueRangeDescriptor<Solution_>
-
- Type Parameters:
Solution_
- the solution type, the class with thePlanningSolution
annotation
- All Known Subinterfaces:
EntityIndependentValueRangeDescriptor<Solution_>
- All Known Implementing Classes:
AbstractFromPropertyValueRangeDescriptor
,AbstractValueRangeDescriptor
,CompositeValueRangeDescriptor
,FromEntityPropertyValueRangeDescriptor
,FromSolutionPropertyValueRangeDescriptor
public interface ValueRangeDescriptor<Solution_>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ValueRange<?>
extractValueRange(Solution_ solution, Object entity)
GenuineVariableDescriptor<Solution_>
getVariableDescriptor()
boolean
isCountable()
boolean
isEntityIndependent()
If this method return true, this instance is safe to cast toEntityIndependentValueRangeDescriptor
, otherwise it requires an entity to determine theValueRange
.boolean
mightContainEntity()
-
-
-
Method Detail
-
getVariableDescriptor
GenuineVariableDescriptor<Solution_> getVariableDescriptor()
- Returns:
- never null
-
isCountable
boolean isCountable()
- Returns:
- true if the
ValueRange
is countable (for example a double value range between 1.2 and 1.4 is not countable)
-
isEntityIndependent
boolean isEntityIndependent()
If this method return true, this instance is safe to cast toEntityIndependentValueRangeDescriptor
, otherwise it requires an entity to determine theValueRange
.- Returns:
- true if the
ValueRange
is the same for all entities of the same solution
-
mightContainEntity
boolean mightContainEntity()
- Returns:
- true if the
ValueRange
might contain a planning entity instance (not necessarily of the same entity class as this entity class of this descriptor.
-
extractValueRange
ValueRange<?> extractValueRange(Solution_ solution, Object entity)
- Parameters:
solution
- never nullentity
- never null. To avoid this parameter, useEntityIndependentValueRangeDescriptor.extractValueRange(Solution_)
instead.- Returns:
- never null
-
-