Class AbstractEnumeratingStream<Solution_>
java.lang.Object
ai.timefold.solver.core.impl.neighborhood.stream.enumerating.common.AbstractEnumeratingStream<Solution_>
- All Implemented Interfaces:
BavetStream
- Direct Known Subclasses:
AbstractBiEnumeratingStream,AbstractUniEnumeratingStream
@NullMarked
public abstract class AbstractEnumeratingStream<Solution_>
extends Object
implements BavetStream
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final List<AbstractEnumeratingStream<Solution_>>protected final EnumeratingStreamFactory<Solution_>protected final @Nullable AbstractEnumeratingStream<Solution_> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractEnumeratingStream(EnumeratingStreamFactory<Solution_> enumeratingStreamFactory, @Nullable AbstractEnumeratingStream<Solution_> parent) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidabstract voidbuildNode(DataNodeBuildHelper<Solution_> buildHelper) voidcollectActiveEnumeratingStreams(Set<AbstractEnumeratingStream<Solution_>> enumeratingStreamSet) final List<AbstractEnumeratingStream<Solution_>>final @Nullable AbstractEnumeratingStream<Solution_>Returns the stream which first produced the tuple that this stream operates on.protected booleanfinal <Stream_ extends AbstractEnumeratingStream<Solution_>>
Stream_shareAndAddChild(Stream_ stream) 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.impl.bavet.common.BavetStream
getLocationSet
-
Field Details
-
enumeratingStreamFactory
-
parent
-
childStreamList
-
-
Constructor Details
-
AbstractEnumeratingStream
protected AbstractEnumeratingStream(EnumeratingStreamFactory<Solution_> enumeratingStreamFactory, @Nullable AbstractEnumeratingStream<Solution_> parent)
-
-
Method Details
-
guaranteesDistinct
protected boolean guaranteesDistinct() -
collectActiveEnumeratingStreams
public void collectActiveEnumeratingStreams(Set<AbstractEnumeratingStream<Solution_>> enumeratingStreamSet) -
getTupleSource
Returns the stream which first produced the tuple that this stream operates on. If a stream does not have a single parent nor is it a source, it is expected to override this method.- Returns:
- this if
TupleSource, otherwise parent's tuple source.
-
buildNode
-
assertEmptyChildStreamList
protected void assertEmptyChildStreamList() -
getParent
- Specified by:
getParentin interfaceBavetStream
-
getChildStreamList