Class CascadingUpdateShadowVariableDescriptor<Solution_>
java.lang.Object
ai.timefold.solver.core.impl.domain.variable.descriptor.VariableDescriptor<Solution_>
ai.timefold.solver.core.impl.domain.variable.descriptor.ShadowVariableDescriptor<Solution_>
ai.timefold.solver.core.impl.domain.variable.cascade.CascadingUpdateShadowVariableDescriptor<Solution_>
public final class CascadingUpdateShadowVariableDescriptor<Solution_>
extends ShadowVariableDescriptor<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
ConstructorsConstructorDescriptionCascadingUpdateShadowVariableDescriptor(int ordinal, EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTargetVariable(EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor) buildVariableListeners(SupplyManager supplyManager) booleanDemand<?>Collection<Class<? extends AbstractVariableListener>>booleanbooleanreturn true if the source variable is a list variable; otherwise, return false.voidlinkVariableDescriptors(DescriptorPolicy descriptorPolicy) voidprocessAnnotations(DescriptorPolicy descriptorPolicy) booleanupdate(ScoreDirector<Solution_> scoreDirector, Object entity) Methods inherited from class ai.timefold.solver.core.impl.domain.variable.descriptor.ShadowVariableDescriptor
getGlobalShadowOrder, setGlobalShadowOrder, toStringMethods inherited from class ai.timefold.solver.core.impl.domain.variable.descriptor.VariableDescriptor
getEntityDescriptor, getMemberAccessorSpeedNote, getOrdinal, getSimpleEntityAndVariableName, getSinkVariableDescriptorList, getValue, getVariableMetaModel, getVariableName, getVariablePropertyType, isGenuineAndUninitialized, isListVariable, isValuePotentialAnchor, registerSinkVariableDescriptor, setValue
-
Constructor Details
-
CascadingUpdateShadowVariableDescriptor
public CascadingUpdateShadowVariableDescriptor(int ordinal, EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor)
-
-
Method Details
-
addTargetVariable
public void addTargetVariable(EntityDescriptor<Solution_> entityDescriptor, MemberAccessor variableMemberAccessor) -
getTargetMethodName
-
update
-
processAnnotations
- Specified by:
processAnnotationsin classShadowVariableDescriptor<Solution_>
-
linkVariableDescriptors
- Specified by:
linkVariableDescriptorsin classVariableDescriptor<Solution_>
-
getSourceVariableDescriptorList
Description copied from class:ShadowVariableDescriptor- Specified by:
getSourceVariableDescriptorListin classShadowVariableDescriptor<Solution_>- Returns:
- never null, only variables affect this shadow variable directly
-
getVariableListenerClasses
- Specified by:
getVariableListenerClassesin classShadowVariableDescriptor<Solution_>
-
getProvidedDemand
- Specified by:
getProvidedDemandin classShadowVariableDescriptor<Solution_>- Returns:
- never null
-
hasVariableListener
public boolean hasVariableListener()- Overrides:
hasVariableListenerin classShadowVariableDescriptor<Solution_>
-
canBeUsedAsSource
public boolean canBeUsedAsSource()- Overrides:
canBeUsedAsSourcein classVariableDescriptor<Solution_>
-
buildVariableListeners
public Iterable<VariableListenerWithSources<Solution_>> buildVariableListeners(SupplyManager supplyManager) - Specified by:
buildVariableListenersin classShadowVariableDescriptor<Solution_>- Parameters:
supplyManager- never null- Returns:
- never null
-
isListVariableSource
public boolean isListVariableSource()Description copied from class:ShadowVariableDescriptorreturn true if the source variable is a list variable; otherwise, return false.- Specified by:
isListVariableSourcein classShadowVariableDescriptor<Solution_>
-