Class GenuineVariableDescriptor<Solution_>
- java.lang.Object
-
- org.optaplanner.core.impl.domain.variable.descriptor.VariableDescriptor<Solution_>
-
- org.optaplanner.core.impl.domain.variable.descriptor.GenuineVariableDescriptor<Solution_>
-
- Type Parameters:
Solution_
- the solution type, the class with thePlanningSolution
annotation
- Direct Known Subclasses:
BasicVariableDescriptor
,ListVariableDescriptor
public abstract class GenuineVariableDescriptor<Solution_> extends VariableDescriptor<Solution_>
-
-
Field Summary
-
Fields inherited from class org.optaplanner.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 org.optaplanner.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(DescriptorPolicy descriptorPolicy, Class<? extends Comparator> strengthComparatorClass, Class<? extends SelectionSorterWeightFactory> strengthWeightFactoryClass)
-
linkVariableDescriptors
public void linkVariableDescriptors(DescriptorPolicy descriptorPolicy)
- Specified by:
linkVariableDescriptors
in 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)
Anullable
planning variable andPlanningListVariable
are 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:
isGenuineAndUninitialized
in 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()
-
-