Class AbstractBiEnumeratingStream<Solution_,A,B>
java.lang.Object
ai.timefold.solver.core.impl.neighborhood.stream.enumerating.common.AbstractEnumeratingStream<Solution_>
ai.timefold.solver.core.impl.neighborhood.stream.enumerating.bi.AbstractBiEnumeratingStream<Solution_,A,B>
- All Implemented Interfaces:
BavetStream,BiEnumeratingStream<Solution_,,A, B> EnumeratingStream
- Direct Known Subclasses:
AftBridgeBiEnumeratingStream,JoinBiEnumeratingStream
@NullMarked
public abstract class AbstractBiEnumeratingStream<Solution_,A,B>
extends AbstractEnumeratingStream<Solution_>
implements BiEnumeratingStream<Solution_,A,B>
-
Field Summary
Fields inherited from class ai.timefold.solver.core.impl.neighborhood.stream.enumerating.common.AbstractEnumeratingStream
childStreamList, enumeratingStreamFactory, parent -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractBiEnumeratingStream(EnumeratingStreamFactory<Solution_> enumeratingStreamFactory) protectedAbstractBiEnumeratingStream(EnumeratingStreamFactory<Solution_> enumeratingStreamFactory, @Nullable AbstractEnumeratingStream<Solution_> parent) -
Method Summary
Modifier and TypeMethodDescriptiondistinct()As defined byUniEnumeratingStream.distinct().final BiEnumeratingStream<Solution_,A, B> filter(BiNeighborhoodsPredicate<Solution_, A, B> filter) Exhaustively test each fact against theBiNeighborhoodsPredicateand match ifBiNeighborhoodsPredicate.test(SolutionView, Object, Object)returns true.protected <GroupKeyA_,GroupKeyB_>
AbstractBiEnumeratingStream<Solution_,GroupKeyA_, GroupKeyB_> groupBy(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping) <ResultA_> UniEnumeratingStream<Solution_,ResultA_> map(BiNeighborhoodsMapper<Solution_, A, B, ResultA_> mapping) As defined byUniEnumeratingStream.map(UniNeighborhoodsMapper).<ResultA_,ResultB_>
BiEnumeratingStream<Solution_,ResultA_, ResultB_> map(BiNeighborhoodsMapper<Solution_, A, B, ResultA_> mappingA, BiNeighborhoodsMapper<Solution_, A, B, ResultB_> mappingB) As defined byBiEnumeratingStream.map(BiNeighborhoodsMapper), only resulting inBiEnumeratingStream.Methods inherited from class ai.timefold.solver.core.impl.neighborhood.stream.enumerating.common.AbstractEnumeratingStream
assertEmptyChildStreamList, buildNode, collectActiveEnumeratingStreams, getChildStreamList, getParent, getTupleSource, guaranteesDistinct, shareAndAddChildMethods 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
-
Constructor Details
-
AbstractBiEnumeratingStream
-
AbstractBiEnumeratingStream
protected AbstractBiEnumeratingStream(EnumeratingStreamFactory<Solution_> enumeratingStreamFactory, @Nullable AbstractEnumeratingStream<Solution_> parent)
-
-
Method Details
-
filter
public final BiEnumeratingStream<Solution_,A, filterB> (BiNeighborhoodsPredicate<Solution_, A, B> filter) Description copied from interface:BiEnumeratingStreamExhaustively test each fact against theBiNeighborhoodsPredicateand match ifBiNeighborhoodsPredicate.test(SolutionView, Object, Object)returns true.- Specified by:
filterin interfaceBiEnumeratingStream<Solution_,A, B>
-
groupBy
protected <GroupKeyA_,GroupKeyB_> AbstractBiEnumeratingStream<Solution_,GroupKeyA_, groupByGroupKeyB_> (BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping) -
map
public <ResultA_> UniEnumeratingStream<Solution_,ResultA_> map(BiNeighborhoodsMapper<Solution_, A, B, ResultA_> mapping) Description copied from interface:BiEnumeratingStreamAs defined byUniEnumeratingStream.map(UniNeighborhoodsMapper).Use with caution, as the increased memory allocation rates coming from tuple creation may negatively affect performance.
- Specified by:
mapin interfaceBiEnumeratingStream<Solution_,A, B> - Type Parameters:
ResultA_- the type of the only fact in the resultingUniEnumeratingStream's tuple- Parameters:
mapping- function to convert the original tuple into the new tuple
-
map
public <ResultA_,ResultB_> BiEnumeratingStream<Solution_,ResultA_, mapResultB_> (BiNeighborhoodsMapper<Solution_, A, B, ResultA_> mappingA, BiNeighborhoodsMapper<Solution_, A, B, ResultB_> mappingB) Description copied from interface:BiEnumeratingStreamAs defined byBiEnumeratingStream.map(BiNeighborhoodsMapper), only resulting inBiEnumeratingStream.- Specified by:
mapin interfaceBiEnumeratingStream<Solution_,A, B> - Type Parameters:
ResultA_- the type of the first fact in the resultingBiEnumeratingStream's tupleResultB_- the type of the first fact in the resultingBiEnumeratingStream's tuple- Parameters:
mappingA- function to convert the original tuple into the first fact of a new tuplemappingB- function to convert the original tuple into the second fact of a new tuple
-
distinct
Description copied from interface:BiEnumeratingStreamAs defined byUniEnumeratingStream.distinct().- Specified by:
distinctin interfaceBiEnumeratingStream<Solution_,A, B>
-