Class VariableDescriptor<Solution_>
java.lang.Object
ai.timefold.solver.core.impl.domain.variable.descriptor.VariableDescriptor<Solution_>
- Type Parameters:
Solution_- the solution type, the class with thePlanningSolutionannotation
- Direct Known Subclasses:
GenuineVariableDescriptor,ShadowVariableDescriptor
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected VariableMetaModel<Solution_,?, ?> protected final EntityDescriptor<Solution_>protected final intprotected final Stringprotected List<ShadowVariableDescriptor<Solution_>>protected final MemberAccessorprotected final String -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedVariableDescriptor(int ordinal, EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor) protectedVariableDescriptor(int ordinal, EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor, boolean allowPrimitive) -
Method Summary
Modifier and TypeMethodDescriptionbooleanintA number unique within anEntityDescriptor, increasing sequentially from zero.<Value_> Value_Class<?>final booleanisGenuineAndUninitialized(Object entity) final booleanbooleanisValuePotentialAnchor(Object value) abstract voidlinkVariableDescriptors(DescriptorPolicy descriptorPolicy) voidregisterSinkVariableDescriptor(ShadowVariableDescriptor<Solution_> shadowVariableDescriptor) void
-
Field Details
-
ordinal
protected final int ordinal -
entityDescriptor
-
variableMemberAccessor
-
variableName
-
simpleEntityAndVariableName
-
cachedMetamodel
-
sinkVariableDescriptorList
-
-
Constructor Details
-
VariableDescriptor
protected VariableDescriptor(int ordinal, EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor) -
VariableDescriptor
protected VariableDescriptor(int ordinal, EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor, boolean allowPrimitive)
-
-
Method Details
-
getOrdinal
public int getOrdinal()A number unique within anEntityDescriptor, increasing sequentially from zero. Used for indexing in arrays to avoid object hash lookups in maps.- Returns:
- zero or higher
-
getEntityDescriptor
-
getVariableName
-
getSimpleEntityAndVariableName
-
getVariablePropertyType
-
linkVariableDescriptors
-
isListVariable
public final boolean isListVariable() -
canBeUsedAsSource
public boolean canBeUsedAsSource() -
registerSinkVariableDescriptor
public void registerSinkVariableDescriptor(ShadowVariableDescriptor<Solution_> shadowVariableDescriptor) -
getSinkVariableDescriptorList
- Returns:
- never null, only direct shadow variables that are affected by this variable
-
isValuePotentialAnchor
- Parameters:
value- never null- Returns:
- true if it might be an anchor, false if it is definitely not an anchor
-
getValue
-
setValue
-
getMemberAccessorSpeedNote
-
isGenuineAndUninitialized
-
getVariableMetaModel
-