Class ShadowVariableDescriptor<Solution_>
- java.lang.Object
-
- ai.timefold.solver.core.impl.domain.variable.descriptor.VariableDescriptor<Solution_>
-
- ai.timefold.solver.core.impl.domain.variable.descriptor.ShadowVariableDescriptor<Solution_>
-
- Type Parameters:
Solution_- the solution type, the class with thePlanningSolutionannotation
- Direct Known Subclasses:
AnchorShadowVariableDescriptor,CustomShadowVariableDescriptor,IndexShadowVariableDescriptor,InverseRelationShadowVariableDescriptor,LegacyCustomShadowVariableDescriptor,NextElementShadowVariableDescriptor,PiggybackShadowVariableDescriptor,PreviousElementShadowVariableDescriptor
public abstract class ShadowVariableDescriptor<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 ShadowVariableDescriptor(EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract Iterable<VariableListenerWithSources<Solution_>>buildVariableListeners(SupplyManager supplyManager)intgetGlobalShadowOrder()abstract Demand<?>getProvidedDemand()abstract List<VariableDescriptor<Solution_>>getSourceVariableDescriptorList()abstract Collection<Class<? extends AbstractVariableListener>>getVariableListenerClasses()booleanhasVariableListener()booleanisGenuineAndUninitialized(Object entity)abstract voidprocessAnnotations(DescriptorPolicy descriptorPolicy)voidsetGlobalShadowOrder(int globalShadowOrder)StringtoString()-
Methods inherited from class ai.timefold.solver.core.impl.domain.variable.descriptor.VariableDescriptor
getEntityDescriptor, getMemberAccessorSpeedNote, getSimpleEntityAndVariableName, getSinkVariableDescriptorList, getValue, getVariableName, getVariablePropertyType, isGenuineListVariable, isValuePotentialAnchor, linkVariableDescriptors, registerSinkVariableDescriptor, setValue
-
-
-
-
Constructor Detail
-
ShadowVariableDescriptor
public ShadowVariableDescriptor(EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor)
-
-
Method Detail
-
getGlobalShadowOrder
public int getGlobalShadowOrder()
-
setGlobalShadowOrder
public void setGlobalShadowOrder(int globalShadowOrder)
-
processAnnotations
public abstract void processAnnotations(DescriptorPolicy descriptorPolicy)
-
getSourceVariableDescriptorList
public abstract List<VariableDescriptor<Solution_>> getSourceVariableDescriptorList()
- Returns:
- never null, only variables affect this shadow variable directly
-
getVariableListenerClasses
public abstract Collection<Class<? extends AbstractVariableListener>> getVariableListenerClasses()
-
getProvidedDemand
public abstract Demand<?> getProvidedDemand()
- Returns:
- never null
-
hasVariableListener
public boolean hasVariableListener()
-
buildVariableListeners
public abstract Iterable<VariableListenerWithSources<Solution_>> buildVariableListeners(SupplyManager supplyManager)
- Parameters:
supplyManager- never null- Returns:
- never null
-
isGenuineAndUninitialized
public boolean isGenuineAndUninitialized(Object entity)
- Specified by:
isGenuineAndUninitializedin classVariableDescriptor<Solution_>
-
-