Class CompositeValueRangeDescriptor<Solution_>
java.lang.Object
ai.timefold.solver.core.impl.domain.valuerange.descriptor.AbstractValueRangeDescriptor<Solution_>
ai.timefold.solver.core.impl.domain.valuerange.descriptor.CompositeValueRangeDescriptor<Solution_>
- Type Parameters:
Solution_- the solution type, the class with thePlanningSolutionannotation
- All Implemented Interfaces:
EntityIndependentValueRangeDescriptor<Solution_>,ValueRangeDescriptor<Solution_>
public class CompositeValueRangeDescriptor<Solution_>
extends AbstractValueRangeDescriptor<Solution_>
implements EntityIndependentValueRangeDescriptor<Solution_>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final List<ValueRangeDescriptor<Solution_>>protected booleanFields inherited from class ai.timefold.solver.core.impl.domain.valuerange.descriptor.AbstractValueRangeDescriptor
addNullInValueRange, variableDescriptor -
Constructor Summary
ConstructorsConstructorDescriptionCompositeValueRangeDescriptor(GenuineVariableDescriptor<Solution_> variableDescriptor, boolean addNullInValueRange, List<ValueRangeDescriptor<Solution_>> childValueRangeDescriptorList) -
Method Summary
Modifier and TypeMethodDescription<T> ValueRange<T>extractValueRange(Solution_ solution) As specified byValueRangeDescriptor.extractValueRange(Solution_, java.lang.Object).<Value_> ValueRange<Value_>extractValueRange(Solution_ solution, Object entity) longextractValueRangeSize(Solution_ solution) longextractValueRangeSize(Solution_ solution, Object entity) booleanbooleanIf this method return true, this instance is safe to cast toEntityIndependentValueRangeDescriptor, otherwise it requires an entity to determine theValueRange.Methods inherited from class ai.timefold.solver.core.impl.domain.valuerange.descriptor.AbstractValueRangeDescriptor
doNullInValueRangeWrapping, getVariableDescriptor, mightContainEntity, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ai.timefold.solver.core.impl.domain.valuerange.descriptor.ValueRangeDescriptor
getVariableDescriptor, mightContainEntity
-
Field Details
-
childValueRangeDescriptorList
-
entityIndependent
protected boolean entityIndependent
-
-
Constructor Details
-
CompositeValueRangeDescriptor
public CompositeValueRangeDescriptor(GenuineVariableDescriptor<Solution_> variableDescriptor, boolean addNullInValueRange, List<ValueRangeDescriptor<Solution_>> childValueRangeDescriptorList)
-
-
Method Details
-
isCountable
public boolean isCountable()- Specified by:
isCountablein interfaceValueRangeDescriptor<Solution_>- Returns:
- true if the
ValueRangeis countable (for example a double value range between 1.2 and 1.4 is not countable)
-
isEntityIndependent
public boolean isEntityIndependent()Description copied from interface:ValueRangeDescriptorIf this method return true, this instance is safe to cast toEntityIndependentValueRangeDescriptor, otherwise it requires an entity to determine theValueRange.- Specified by:
isEntityIndependentin interfaceValueRangeDescriptor<Solution_>- Returns:
- true if the
ValueRangeis the same for all entities of the same solution
-
extractValueRange
- Specified by:
extractValueRangein interfaceValueRangeDescriptor<Solution_>- Parameters:
solution- never nullentity- never null. To avoid this parameter, useEntityIndependentValueRangeDescriptor.extractValueRange(Solution_)instead.- Returns:
- never null
-
extractValueRange
Description copied from interface:EntityIndependentValueRangeDescriptorAs specified byValueRangeDescriptor.extractValueRange(Solution_, java.lang.Object).- Specified by:
extractValueRangein interfaceEntityIndependentValueRangeDescriptor<Solution_>- Parameters:
solution- never null- Returns:
- never null
- See Also:
-
extractValueRangeSize
- Specified by:
extractValueRangeSizein interfaceValueRangeDescriptor<Solution_>- Parameters:
solution- never nullentity- never null. To avoid this parameter, useEntityIndependentValueRangeDescriptor.extractValueRangeSize(Solution_)instead.- Returns:
- never null
-
extractValueRangeSize
Description copied from interface:EntityIndependentValueRangeDescriptor- Specified by:
extractValueRangeSizein interfaceEntityIndependentValueRangeDescriptor<Solution_>- Parameters:
solution- never null- Returns:
- never null
- See Also:
-