Class SingletonInverseVariableListener<Solution_>
java.lang.Object
ai.timefold.solver.core.impl.domain.variable.inverserelation.SingletonInverseVariableListener<Solution_>
- All Implemented Interfaces:
AbstractVariableListener<Solution_,,Object> VariableListener<Solution_,,Object> SingletonInverseVariableSupply,Supply,Closeable,AutoCloseable
public class SingletonInverseVariableListener<Solution_>
extends Object
implements VariableListener<Solution_,Object>, SingletonInverseVariableSupply
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final InverseRelationShadowVariableDescriptor<Solution_>protected final VariableDescriptor<Solution_> -
Constructor Summary
ConstructorsConstructorDescriptionSingletonInverseVariableListener(InverseRelationShadowVariableDescriptor<Solution_> shadowVariableDescriptor, VariableDescriptor<Solution_> sourceVariableDescriptor) -
Method Summary
Modifier and TypeMethodDescriptionvoidafterEntityAdded(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Object entity) voidafterEntityRemoved(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Object entity) voidafterVariableChanged(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Object entity) voidbeforeEntityAdded(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Object entity) voidbeforeEntityRemoved(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Object entity) voidbeforeVariableChanged(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Object entity) getInverseSingleton(Object planningValue) If entity1.varA = x then the inverse of x is entity1.protected voidinsert(InnerScoreDirector<Solution_, ?> scoreDirector, Object entity) protected voidretract(InnerScoreDirector<Solution_, ?> scoreDirector, Object entity) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ai.timefold.solver.core.api.domain.variable.AbstractVariableListener
close, resetWorkingSolutionMethods inherited from interface ai.timefold.solver.core.api.domain.variable.VariableListener
requiresUniqueEntityEvents
-
Field Details
-
shadowVariableDescriptor
-
sourceVariableDescriptor
-
-
Constructor Details
-
SingletonInverseVariableListener
public SingletonInverseVariableListener(InverseRelationShadowVariableDescriptor<Solution_> shadowVariableDescriptor, VariableDescriptor<Solution_> sourceVariableDescriptor)
-
-
Method Details
-
beforeEntityAdded
public void beforeEntityAdded(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Object entity) - Specified by:
beforeEntityAddedin interfaceAbstractVariableListener<Solution_,Object>
-
afterEntityAdded
public void afterEntityAdded(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Object entity) - Specified by:
afterEntityAddedin interfaceAbstractVariableListener<Solution_,Object>
-
beforeVariableChanged
public void beforeVariableChanged(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Object entity) - Specified by:
beforeVariableChangedin interfaceVariableListener<Solution_,Object>
-
afterVariableChanged
public void afterVariableChanged(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Object entity) - Specified by:
afterVariableChangedin interfaceVariableListener<Solution_,Object>
-
beforeEntityRemoved
public void beforeEntityRemoved(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Object entity) - Specified by:
beforeEntityRemovedin interfaceAbstractVariableListener<Solution_,Object>
-
afterEntityRemoved
public void afterEntityRemoved(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Object entity) - Specified by:
afterEntityRemovedin interfaceAbstractVariableListener<Solution_,Object>
-
insert
-
retract
-
getInverseSingleton
Description copied from interface:SingletonInverseVariableSupplyIf entity1.varA = x then the inverse of x is entity1.- Specified by:
getInverseSingletonin interfaceSingletonInverseVariableSupply- Parameters:
planningValue- never null- Returns:
- sometimes null, an entity for which the planning variable is the planningValue.
-