Class ListVariableDescriptor<Solution_>
java.lang.Object
ai.timefold.solver.core.impl.domain.variable.descriptor.VariableDescriptor<Solution_>
ai.timefold.solver.core.impl.domain.variable.descriptor.GenuineVariableDescriptor<Solution_>
ai.timefold.solver.core.impl.domain.variable.descriptor.ListVariableDescriptor<Solution_>
-
Field Summary
Fields inherited from class ai.timefold.solver.core.impl.domain.variable.descriptor.VariableDescriptor
cachedMetamodel, entityDescriptor, ordinal, simpleEntityAndVariableName, sinkVariableDescriptorList, variableMemberAccessor, variableName -
Constructor Summary
ConstructorsConstructorDescriptionListVariableDescriptor(int ordinal, EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor) -
Method Summary
Modifier and TypeMethodDescriptionbooleanacceptsValueType(Class<?> valueType) voidaddElement(Object entity, int index, Object element) booleanintcountUnassigned(Solution_ solution) <Value_> Value_getElement(Object entity, int index) Class<?><A,B> BiPredicate<A, B> intgetFirstUnpinnedIndex(Object entity) <A> BiPredicate<A,Object> intgetListSize(Object entity) getRandomUnpinnedElement(Object entity, Random workingRandom) getUnpinnedSubList(Object entity) intgetUnpinnedSubListSize(Object entity) booleanisElementPinned(Solution_ workingSolution, Object entity, int index) booleanisInitialized(Object entity) A basic planning variableallowing unassignedand @PlanningListVariableare always considered initialized.protected voidprocessPropertyAnnotations(DescriptorPolicy descriptorPolicy) protected voidprocessValueRangeRefs(DescriptorPolicy descriptorPolicy, String[] valueRangeProviderRefs) removeElement(Object entity, int index) <Value_> Value_setElement(Object entity, int index, Value_ element) booleanMethods inherited from class ai.timefold.solver.core.impl.domain.variable.descriptor.GenuineVariableDescriptor
getDecreasingStrengthSorter, getIncreasingStrengthSorter, getValueRangeDescriptor, getValueRangeSize, isReinitializable, isValueRangeEntityIndependent, linkVariableDescriptors, processAnnotations, processStrength, toStringMethods inherited from class ai.timefold.solver.core.impl.domain.variable.descriptor.VariableDescriptor
canBeUsedAsSource, getEntityDescriptor, getMemberAccessorSpeedNote, getOrdinal, getSimpleEntityAndVariableName, getSinkVariableDescriptorList, getVariableMetaModel, getVariableName, getVariablePropertyType, isGenuineAndUninitialized, isListVariable, isValuePotentialAnchor, registerSinkVariableDescriptor, setValue
-
Constructor Details
-
ListVariableDescriptor
public ListVariableDescriptor(int ordinal, EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor)
-
-
Method Details
-
getStateDemand
-
getInListPredicate
-
getEntityContainsPinnedValuePredicate
-
allowsUnassignedValues
public boolean allowsUnassignedValues() -
processPropertyAnnotations
- Specified by:
processPropertyAnnotationsin classGenuineVariableDescriptor<Solution_>
-
processValueRangeRefs
protected void processValueRangeRefs(DescriptorPolicy descriptorPolicy, String[] valueRangeProviderRefs) - Overrides:
processValueRangeRefsin classGenuineVariableDescriptor<Solution_>
-
acceptsValueType
- Specified by:
acceptsValueTypein classGenuineVariableDescriptor<Solution_>
-
isInitialized
Description copied from class:GenuineVariableDescriptorA basic planning variableallowing unassignedand @PlanningListVariableare always considered initialized.- Specified by:
isInitializedin classGenuineVariableDescriptor<Solution_>- Parameters:
entity- never null- Returns:
- true if the variable on that entity is initialized
-
getElementType
-
countUnassigned
-
getInverseRelationShadowVariableDescriptor
public InverseRelationShadowVariableDescriptor<Solution_> getInverseRelationShadowVariableDescriptor() -
getValue
- Overrides:
getValuein classVariableDescriptor<Solution_>
-
removeElement
-
addElement
-
getElement
-
setElement
-
getListSize
-
supportsPinning
public boolean supportsPinning() -
isElementPinned
-
getRandomUnpinnedElement
-
getUnpinnedSubListSize
-
getUnpinnedSubList
-
getFirstUnpinnedIndex
-