Class RecordAndReplayPropagator<Tuple_ extends Tuple>
java.lang.Object
ai.timefold.solver.core.impl.bavet.common.RecordAndReplayPropagator<Tuple_>
- Type Parameters:
Tuple_-
- All Implemented Interfaces:
Propagator
@NullMarked
public final class RecordAndReplayPropagator<Tuple_ extends Tuple>
extends Object
implements Propagator
The implementation records the tuples each object affects inside
an internal
NodeNetwork and replays them on update.
Used by AbstractPrecomputeNode to precompute constraint streams.-
Constructor Summary
ConstructorsConstructorDescriptionRecordAndReplayPropagator(Supplier<BavetPrecomputeBuildHelper<Tuple_>> precomputeBuildHelperSupplier, UnaryOperator<Tuple_> internalTupleToOutputTupleMapper, TupleLifecycle<Tuple_> nextNodesTupleLifecycle) RecordAndReplayPropagator(Supplier<BavetPrecomputeBuildHelper<Tuple_>> precomputeBuildHelperSupplier, UnaryOperator<Tuple_> internalTupleToOutputTupleMapper, TupleLifecycle<Tuple_> nextNodesTupleLifecycle, int size) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidMust by preceded byPropagator.propagateRetracts()andPropagator.propagateUpdates().voidStarts the propagation event.voidMust be preceded byPropagator.propagateRetracts()and followed byPropagator.propagateInserts().voidvoidMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ai.timefold.solver.core.impl.bavet.common.Propagator
propagateEverything
-
Constructor Details
-
RecordAndReplayPropagator
public RecordAndReplayPropagator(Supplier<BavetPrecomputeBuildHelper<Tuple_>> precomputeBuildHelperSupplier, UnaryOperator<Tuple_> internalTupleToOutputTupleMapper, TupleLifecycle<Tuple_> nextNodesTupleLifecycle, int size) -
RecordAndReplayPropagator
public RecordAndReplayPropagator(Supplier<BavetPrecomputeBuildHelper<Tuple_>> precomputeBuildHelperSupplier, UnaryOperator<Tuple_> internalTupleToOutputTupleMapper, TupleLifecycle<Tuple_> nextNodesTupleLifecycle)
-
-
Method Details
-
insert
-
update
-
retract
-
propagateRetracts
public void propagateRetracts()Description copied from interface:PropagatorStarts the propagation event. Must be followed byPropagator.propagateUpdates().- Specified by:
propagateRetractsin interfacePropagator
-
propagateUpdates
public void propagateUpdates()Description copied from interface:PropagatorMust be preceded byPropagator.propagateRetracts()and followed byPropagator.propagateInserts().- Specified by:
propagateUpdatesin interfacePropagator
-
propagateInserts
public void propagateInserts()Description copied from interface:PropagatorMust by preceded byPropagator.propagateRetracts()andPropagator.propagateUpdates(). Ends the propagation event and clears the queue.- Specified by:
propagateInsertsin interfacePropagator
-