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
Modifier and TypeMethodDescriptionValueRange<?>
extractValueRange
(Solution_ solution, Object entity) boolean
boolean
If this method return true, this instance is safe to cast toEntityIndependentValueRangeDescriptor
, otherwise it requires an entity to determine theValueRange
.boolean
-
Method Details
-
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
- Parameters:
solution
- never nullentity
- never null. To avoid this parameter, useEntityIndependentValueRangeDescriptor.extractValueRange(Solution_)
instead.- Returns:
- never null
-