Class AbstractMapNode<InTuple_ extends AbstractTuple,OutTuple_ extends AbstractTuple>
java.lang.Object
ai.timefold.solver.constraint.streams.bavet.common.AbstractNode
ai.timefold.solver.constraint.streams.bavet.common.AbstractMapNode<InTuple_,OutTuple_>
- All Implemented Interfaces:
TupleLifecycle<InTuple_>
public abstract class AbstractMapNode<InTuple_ extends AbstractTuple,OutTuple_ extends AbstractTuple>
extends AbstractNode
implements TupleLifecycle<InTuple_>
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractMapNode(int inputStoreIndex, TupleLifecycle<OutTuple_> nextNodesTupleLifecycle, int outputStoreSize) -
Method Summary
Modifier and TypeMethodDescriptionInstead of calling the propagation directly from here, we export the propagation queue and allowBavetConstraintSessionto call it.final voidprotected abstract OutTuple_protected abstract voidfinal voidfinal voidMethods inherited from class ai.timefold.solver.constraint.streams.bavet.common.AbstractNode
getLayerIndex, setId, setLayerIndex, toString
-
Field Details
-
outputStoreSize
protected final int outputStoreSize
-
-
Constructor Details
-
AbstractMapNode
protected AbstractMapNode(int inputStoreIndex, TupleLifecycle<OutTuple_> nextNodesTupleLifecycle, int outputStoreSize)
-
-
Method Details
-
insert
- Specified by:
insertin interfaceTupleLifecycle<InTuple_ extends AbstractTuple>
-
map
-
update
- Specified by:
updatein interfaceTupleLifecycle<InTuple_ extends AbstractTuple>
-
remap
- Parameters:
inTuple- never null; the tuple to apply mappings onoldOutTuple- never null; the tuple that was previously mapped to the inTuple
-
retract
- Specified by:
retractin interfaceTupleLifecycle<InTuple_ extends AbstractTuple>
-
getPropagator
Description copied from class:AbstractNodeInstead of calling the propagation directly from here, we export the propagation queue and allowBavetConstraintSessionto call it. This is done with the idea thatPropagatoronly has two implementations (unlikeAbstractNodewith myriad implementations) and therefore JVM call site optimizations will kick in to make the method dispatch faster.- Specified by:
getPropagatorin classAbstractNode- Returns:
- never null; the
PropagationQueuein use by this node
-