Class GenuineVariableDescriptor<Solution_>
- java.lang.Object
-
- ai.timefold.solver.core.impl.domain.variable.descriptor.VariableDescriptor<Solution_>
-
- ai.timefold.solver.core.impl.domain.variable.descriptor.GenuineVariableDescriptor<Solution_>
-
- Type Parameters:
Solution_- the solution type, the class with thePlanningSolutionannotation
- Direct Known Subclasses:
BasicVariableDescriptor,ListVariableDescriptor
public abstract class GenuineVariableDescriptor<Solution_> extends VariableDescriptor<Solution_>
-
-
Field Summary
-
Fields inherited from class ai.timefold.solver.core.impl.domain.variable.descriptor.VariableDescriptor
entityDescriptor, sinkVariableDescriptorList, variableMemberAccessor, variableName
-
-
Constructor Summary
Constructors Constructor Description GenuineVariableDescriptor(EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor)
-
Method Summary
-
Methods inherited from class ai.timefold.solver.core.impl.domain.variable.descriptor.VariableDescriptor
getEntityDescriptor, getMemberAccessorSpeedNote, getSimpleEntityAndVariableName, getSinkVariableDescriptorList, getValue, getVariableName, getVariablePropertyType, isGenuineListVariable, isValuePotentialAnchor, registerSinkVariableDescriptor, setValue
-
-
-
-
Constructor Detail
-
GenuineVariableDescriptor
public GenuineVariableDescriptor(EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor)
-
-
Method Detail
-
processAnnotations
public void processAnnotations(DescriptorPolicy descriptorPolicy)
-
processPropertyAnnotations
protected abstract void processPropertyAnnotations(DescriptorPolicy descriptorPolicy)
-
processValueRangeRefs
protected void processValueRangeRefs(DescriptorPolicy descriptorPolicy, String[] valueRangeProviderRefs)
-
processStrength
protected void processStrength(Class<? extends Comparator> strengthComparatorClass, Class<? extends SelectionSorterWeightFactory> strengthWeightFactoryClass)
-
linkVariableDescriptors
public void linkVariableDescriptors(DescriptorPolicy descriptorPolicy)
- Specified by:
linkVariableDescriptorsin classVariableDescriptor<Solution_>
-
isListVariable
public abstract boolean isListVariable()
-
isChained
public abstract boolean isChained()
-
isNullable
public abstract boolean isNullable()
-
acceptsValueType
public abstract boolean acceptsValueType(Class<?> valueType)
-
hasMovableChainedTrailingValueFilter
public boolean hasMovableChainedTrailingValueFilter()
-
getMovableChainedTrailingValueFilter
public SelectionFilter<Solution_,Object> getMovableChainedTrailingValueFilter()
-
getValueRangeDescriptor
public ValueRangeDescriptor<Solution_> getValueRangeDescriptor()
-
isValueRangeEntityIndependent
public boolean isValueRangeEntityIndependent()
-
isInitialized
public abstract boolean isInitialized(Object entity)
Anullableplanning variable andPlanningListVariableare always considered initialized.- Parameters:
entity- never null- Returns:
- true if the variable on that entity is initialized
-
isGenuineAndUninitialized
public boolean isGenuineAndUninitialized(Object entity)
- Specified by:
isGenuineAndUninitializedin classVariableDescriptor<Solution_>
-
isReinitializable
public boolean isReinitializable(Object entity)
Decides whether an entity is eligible for initialization. This is not an opposite ofisInitialized()because even aPlanningVariable.nullable()variable, which is always considered initialized, is reinitializable if its value isnull.
-
getIncreasingStrengthSorter
public SelectionSorter<Solution_,Object> getIncreasingStrengthSorter()
-
getDecreasingStrengthSorter
public SelectionSorter<Solution_,Object> getDecreasingStrengthSorter()
-
-