Class AbstractNodeBuildHelper<Stream_ extends BavetStream>
java.lang.Object
ai.timefold.solver.core.impl.bavet.common.AbstractNodeBuildHelper<Stream_>
- Direct Known Subclasses:
ConstraintNodeBuildHelper,DataNodeBuildHelper
@NullMarked
public abstract class AbstractNodeBuildHelper<Stream_ extends BavetStream>
extends Object
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractNodeBuildHelper(Set<Stream_> activeStreamSet, @Nullable InnerConstraintProfiler constraintProfiler) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddNode(AbstractNode node, Stream_ creator) voidaddNode(AbstractNode node, Stream_ creator, Stream_ parent) voidaddNode(AbstractNode node, Stream_ creator, Stream_ leftParent, Stream_ rightParent) <BuildHelper_ extends AbstractNodeBuildHelper<Stream_>>
List<AbstractNode>buildNodeList(Set<Stream_> streamSet, BuildHelper_ buildHelper, BiConsumer<Stream_, BuildHelper_> nodeBuilder, Consumer<AbstractNode> nodeProcessor) static NodeNetworkbuildNodeNetwork(List<AbstractNode> nodeList, Map<Class<?>, List<BavetRootNode<?>>> declaredClassToNodeMap, AbstractNodeBuildHelper<?> nodeBuildHelper) intextractTupleStoreSize(Stream_ tupleSourceStream) findParentNode(Stream_ childNodeCreator) <Tuple_ extends Tuple>
TupleLifecycle<Tuple_>getAggregatedTupleLifecycle(List<? extends Stream_> streamList) getTupleStorePositionTracker(Stream_ tupleSourceStream, Stream_ leftParentSource, Stream_ rightParentSource) booleanisStreamActive(Stream_ stream) <Tuple_ extends Tuple>
voidputInsertUpdateRetract(Stream_ stream, TupleLifecycle<Tuple_> tupleLifecycle) <Tuple_ extends Tuple>
voidputInsertUpdateRetract(Stream_ stream, List<? extends Stream_> childStreamList, UnaryOperator<TupleLifecycle<Tuple_>> tupleLifecycleFunction) intreserveTupleStoreIndex(Stream_ tupleSourceStream)
-
Constructor Details
-
AbstractNodeBuildHelper
protected AbstractNodeBuildHelper(Set<Stream_> activeStreamSet, @Nullable InnerConstraintProfiler constraintProfiler)
-
-
Method Details
-
isStreamActive
-
addNode
-
addNode
-
addNode
-
putInsertUpdateRetract
public <Tuple_ extends Tuple> void putInsertUpdateRetract(Stream_ stream, TupleLifecycle<Tuple_> tupleLifecycle) -
putInsertUpdateRetract
public <Tuple_ extends Tuple> void putInsertUpdateRetract(Stream_ stream, List<? extends Stream_> childStreamList, UnaryOperator<TupleLifecycle<Tuple_>> tupleLifecycleFunction) -
getAggregatedTupleLifecycle
public <Tuple_ extends Tuple> TupleLifecycle<Tuple_> getAggregatedTupleLifecycle(List<? extends Stream_> streamList) -
reserveTupleStoreIndex
-
extractTupleStoreSize
-
getTupleStorePositionTracker
public InOutTupleStorePositionTracker getTupleStorePositionTracker(Stream_ tupleSourceStream, Stream_ leftParentSource, Stream_ rightParentSource) -
destroyAndGetNodeList
-
getNodeCreatingStream
-
findParentNode
-
buildNodeNetwork
public static NodeNetwork buildNodeNetwork(List<AbstractNode> nodeList, Map<Class<?>, List<BavetRootNode<?>>> declaredClassToNodeMap, AbstractNodeBuildHelper<?> nodeBuildHelper) -
buildNodeList
public <BuildHelper_ extends AbstractNodeBuildHelper<Stream_>> List<AbstractNode> buildNodeList(Set<Stream_> streamSet, BuildHelper_ buildHelper, BiConsumer<Stream_, BuildHelper_> nodeBuilder, Consumer<AbstractNode> nodeProcessor)
-