Class BavetJoinTriConstraintStream<Solution_,A,B,C>
- java.lang.Object
-
- org.optaplanner.core.impl.score.stream.common.AbstractConstraintStream<Solution_>
-
- org.optaplanner.core.impl.score.stream.bavet.common.BavetAbstractConstraintStream<Solution_>
-
- org.optaplanner.core.impl.score.stream.bavet.tri.BavetAbstractTriConstraintStream<Solution_,A,B,C>
-
- org.optaplanner.core.impl.score.stream.bavet.tri.BavetJoinTriConstraintStream<Solution_,A,B,C>
-
- All Implemented Interfaces:
ConstraintStream
,TriConstraintStream<A,B,C>
,BavetJoinConstraintStream<Solution_>
,InnerTriConstraintStream<A,B,C>
public final class BavetJoinTriConstraintStream<Solution_,A,B,C> extends BavetAbstractTriConstraintStream<Solution_,A,B,C> implements BavetJoinConstraintStream<Solution_>
-
-
Field Summary
-
Fields inherited from class org.optaplanner.core.impl.score.stream.bavet.tri.BavetAbstractTriConstraintStream
childStreamList
-
Fields inherited from class org.optaplanner.core.impl.score.stream.bavet.common.BavetAbstractConstraintStream
constraintFactory
-
-
Constructor Summary
Constructors Constructor Description BavetJoinTriConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetAbstractBiConstraintStream<Solution_,A,B> leftParent, BavetAbstractUniConstraintStream<Solution_,C> rightParent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected BavetJoinTriNode<A,B,C>
createNode(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, BavetAbstractTriNode<A,B,C> parentNode)
BavetJoinTriNode<A,B,C>
createNodeChain(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, BavetJoinBridgeNode leftNode_, BavetJoinBridgeNode rightNode_)
List<BavetFromUniConstraintStream<Solution_,Object>>
getFromStreamList()
boolean
guaranteesDistinct()
This method will return true if the constraint stream is guaranteed to only produce distinct tuples.String
toString()
-
Methods inherited from class org.optaplanner.core.impl.score.stream.bavet.tri.BavetAbstractTriConstraintStream
addChildStream, createChildNodeChains, createNodeChain, filter, flattenLast, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, ifExists, ifExistsIncludingNullVars, ifNotExists, ifNotExistsIncludingNullVars, impactScore, impactScore, impactScoreBigDecimal, impactScoreConfigurable, impactScoreConfigurable, impactScoreConfigurableBigDecimal, impactScoreConfigurableLong, impactScoreLong, join, join, map, processNode
-
Methods inherited from class org.optaplanner.core.impl.score.stream.bavet.common.BavetAbstractConstraintStream
buildConstraint, buildConstraintConfigurable, getConstraintFactory
-
Methods inherited from class org.optaplanner.core.impl.score.stream.common.AbstractConstraintStream
buildConstraintWeightExtractor, buildConstraintWeightExtractor, getRetrievalSemantics, impact, penalize, penalizeConfigurable, reward, rewardConfigurable
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.optaplanner.core.api.score.stream.ConstraintStream
getConstraintFactory, impact, impact, penalize, penalize, penalizeConfigurable, penalizeConfigurable, reward, reward, rewardConfigurable, rewardConfigurable
-
Methods inherited from interface org.optaplanner.core.impl.score.stream.tri.InnerTriConstraintStream
distinct, impact, impactBigDecimal, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableLong, impactLong, join, penalize, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeLong, reward, rewardBigDecimal, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardLong
-
Methods inherited from interface org.optaplanner.core.api.score.stream.tri.TriConstraintStream
ifExists, ifExists, ifExists, ifExists, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, impact, impactBigDecimal, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableLong, impactLong, join, join, join, join, join, join, join, join, join, penalize, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeLong, reward, rewardBigDecimal, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardLong
-
-
-
-
Constructor Detail
-
BavetJoinTriConstraintStream
public BavetJoinTriConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetAbstractBiConstraintStream<Solution_,A,B> leftParent, BavetAbstractUniConstraintStream<Solution_,C> rightParent)
-
-
Method Detail
-
guaranteesDistinct
public boolean guaranteesDistinct()
Description copied from interface:InnerTriConstraintStream
This method will return true if the constraint stream is guaranteed to only produce distinct tuples. SeeInnerTriConstraintStream.distinct()
for details.- Specified by:
guaranteesDistinct
in interfaceInnerTriConstraintStream<Solution_,A,B>
- Returns:
- true if the guarantee of distinct tuples is provided
-
getFromStreamList
public List<BavetFromUniConstraintStream<Solution_,Object>> getFromStreamList()
- Specified by:
getFromStreamList
in classBavetAbstractConstraintStream<Solution_>
-
createNodeChain
public BavetJoinTriNode<A,B,C> createNodeChain(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, BavetJoinBridgeNode leftNode_, BavetJoinBridgeNode rightNode_)
- Specified by:
createNodeChain
in interfaceBavetJoinConstraintStream<Solution_>
-
createNode
protected BavetJoinTriNode<A,B,C> createNode(BavetNodeBuildPolicy<Solution_> buildPolicy, Score<?> constraintWeight, BavetAbstractTriNode<A,B,C> parentNode)
- Specified by:
createNode
in classBavetAbstractTriConstraintStream<Solution_,A,B,C>
-
-