Class BavetAbstractUniConstraintStream<Solution_,A>

java.lang.Object
org.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
org.optaplanner.constraint.streams.bavet.common.BavetAbstractConstraintStream<Solution_>
org.optaplanner.constraint.streams.bavet.uni.BavetAbstractUniConstraintStream<Solution_,A>
All Implemented Interfaces:
org.optaplanner.constraint.streams.common.uni.InnerUniConstraintStream<A>, org.optaplanner.core.api.score.stream.ConstraintStream, org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A>
Direct Known Subclasses:
BavetFilterUniConstraintStream, BavetFlattenLastBridgeUniConstraintStream, BavetFlattenLastUniConstraintStream, BavetForEachUniConstraintStream, BavetGroupUniConstraintStream, BavetIfExistsBridgeUniConstraintStream, BavetIfExistsUniConstraintStream, BavetJoinBridgeUniConstraintStream, BavetMapBridgeUniConstraintStream, BavetMapUniConstraintStream, BavetScoringUniConstraintStream

public abstract class BavetAbstractUniConstraintStream<Solution_,A> extends BavetAbstractConstraintStream<Solution_> implements org.optaplanner.constraint.streams.common.uni.InnerUniConstraintStream<A>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     

    Fields inherited from class org.optaplanner.constraint.streams.bavet.common.BavetAbstractConstraintStream

    constraintFactory
  • Constructor Summary

    Constructors
    Constructor
    Description
    BavetAbstractUniConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, org.optaplanner.constraint.streams.common.RetrievalSemantics retrievalSemantics)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    filter(Predicate<A> predicate)
     
    <ResultA_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<ResultA_>
    flattenLast(Function<A,Iterable<ResultA_>> mapping)
     
     
    protected final Function<A,Collection<?>>
     
    protected final BiFunction<A,org.optaplanner.core.api.score.Score<?>,org.optaplanner.core.api.score.stream.DefaultConstraintJustification>
     
    <GroupKey_>
    org.optaplanner.core.api.score.stream.uni.UniConstraintStream<GroupKey_>
    groupBy(Function<A,GroupKey_> groupKeyMapping)
     
    <GroupKey_, ResultContainer_, Result_>
    org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKey_,Result_>
    groupBy(Function<A,GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainer_,Result_> collector)
     
    <GroupKey_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
    org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKey_,ResultB_,ResultC_>
    groupBy(Function<A,GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC)
     
    <GroupKey_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
    org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKey_,ResultB_,ResultC_,ResultD_>
    groupBy(Function<A,GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerD_,ResultD_> collectorD)
     
    <GroupKeyA_, GroupKeyB_>
    org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKeyA_,GroupKeyB_>
    groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping)
     
    <GroupKeyA_, GroupKeyB_, GroupKeyC_>
    org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_>
    groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, Function<A,GroupKeyC_> groupKeyCMapping)
     
    <GroupKeyA_, GroupKeyB_, GroupKeyC_, GroupKeyD_>
    org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_,GroupKeyD_>
    groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, Function<A,GroupKeyC_> groupKeyCMapping, Function<A,GroupKeyD_> groupKeyDMapping)
     
    <GroupKeyA_, GroupKeyB_, GroupKeyC_, ResultContainerD_, ResultD_>
    org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_,ResultD_>
    groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, Function<A,GroupKeyC_> groupKeyCMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerD_,ResultD_> collectorD)
     
    <GroupKeyA_, GroupKeyB_, ResultContainer_, Result_>
    org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyB_,Result_>
    groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainer_,Result_> collector)
     
    <GroupKeyA_, GroupKeyB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
    org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>
    groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerD_,ResultD_> collectorD)
     
    <ResultContainer_, Result_>
    org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Result_>
    groupBy(org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainer_,Result_> collector)
     
    <ResultContainerA_, ResultA_, ResultContainerB_, ResultB_>
    org.optaplanner.core.api.score.stream.bi.BiConstraintStream<ResultA_,ResultB_>
    groupBy(org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerA_,ResultA_> collectorA, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerB_,ResultB_> collectorB)
     
    <ResultContainerA_, ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
    org.optaplanner.core.api.score.stream.tri.TriConstraintStream<ResultA_,ResultB_,ResultC_>
    groupBy(org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerA_,ResultA_> collectorA, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC)
     
    <ResultContainerA_, ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
    org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<ResultA_,ResultB_,ResultC_,ResultD_>
    groupBy(org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerA_,ResultA_> collectorA, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerD_,ResultD_> collectorD)
     
    final <B> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A>
    ifExists(Class<B> otherClass, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
     
    final <B> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A>
    ifExists(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<B> otherStream, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
     
    final <B> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A>
    ifExistsIncludingNullVars(Class<B> otherClass, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
     
    final <B> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A>
    ifNotExists(Class<B> otherClass, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
     
    final <B> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A>
    ifNotExists(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<B> otherStream, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
     
    final <B> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A>
    ifNotExistsIncludingNullVars(Class<B> otherClass, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
     
    <Score_ extends org.optaplanner.core.api.score.Score<Score_>>
    org.optaplanner.core.api.score.stream.uni.UniConstraintBuilder<A,Score_>
    innerImpact(Score_ constraintWeight, Function<A,BigDecimal> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType)
     
    <Score_ extends org.optaplanner.core.api.score.Score<Score_>>
    org.optaplanner.core.api.score.stream.uni.UniConstraintBuilder<A,Score_>
    innerImpact(Score_ constraintWeight, ToIntFunction<A> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType)
     
    <Score_ extends org.optaplanner.core.api.score.Score<Score_>>
    org.optaplanner.core.api.score.stream.uni.UniConstraintBuilder<A,Score_>
    innerImpact(Score_ constraintWeight, ToLongFunction<A> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType)
     
    final <B> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<A,B>
    join(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<B> otherStream, org.optaplanner.constraint.streams.common.bi.BiJoinerComber<A,B> joinerComber)
     
    final <B> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<A,B>
    join(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<B> otherStream, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
     
    <ResultA_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<ResultA_>
    map(Function<A,ResultA_> mapping)
     
    <Stream_ extends BavetAbstractUniConstraintStream<Solution_, A>>
    Stream_
    shareAndAddChild(Stream_ stream)
     

    Methods inherited from class org.optaplanner.constraint.streams.common.AbstractConstraintStream

    buildConstraintWeightExtractor, buildConstraintWeightExtractor, getRetrievalSemantics

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.optaplanner.core.api.score.stream.ConstraintStream

    getConstraintFactory

    Methods inherited from interface org.optaplanner.constraint.streams.common.uni.InnerUniConstraintStream

    distinct, getRetrievalSemantics, guaranteesDistinct, impact, impact, impact, impactBigDecimal, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableLong, impactLong, join, penalize, penalize, penalize, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurable, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeLong, reward, reward, reward, rewardBigDecimal, rewardConfigurable, rewardConfigurable, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardLong

    Methods inherited from interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream

    ifExists, ifExists, ifExists, ifExists, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, impact, impact, impact, impactBigDecimal, impactBigDecimal, impactConfigurable, impactConfigurable, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableBigDecimal, impactConfigurableLong, impactConfigurableLong, impactLong, impactLong, join, join, join, join, join, join, join, join, join, join, penalize, penalize, penalize, penalizeBigDecimal, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurable, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeConfigurableLong, penalizeLong, penalizeLong, reward, reward, reward, rewardBigDecimal, rewardBigDecimal, rewardConfigurable, rewardConfigurable, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardConfigurableLong, rewardLong, rewardLong
  • Field Details

  • Constructor Details

    • BavetAbstractUniConstraintStream

      public BavetAbstractUniConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, org.optaplanner.constraint.streams.common.RetrievalSemantics retrievalSemantics)
  • Method Details

    • getChildStreamList

      public List<BavetAbstractUniConstraintStream<Solution_,A>> getChildStreamList()
    • shareAndAddChild

      public <Stream_ extends BavetAbstractUniConstraintStream<Solution_, A>> Stream_ shareAndAddChild(Stream_ stream)
    • filter

      Specified by:
      filter in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • join

      @SafeVarargs public final <B> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<A,B> join(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<B> otherStream, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
      Specified by:
      join in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • join

      public final <B> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<A,B> join(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<B> otherStream, org.optaplanner.constraint.streams.common.bi.BiJoinerComber<A,B> joinerComber)
      Specified by:
      join in interface org.optaplanner.constraint.streams.common.uni.InnerUniConstraintStream<Solution_>
    • ifExists

      @SafeVarargs public final <B> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A> ifExists(Class<B> otherClass, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
      Specified by:
      ifExists in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • ifExistsIncludingNullVars

      @SafeVarargs public final <B> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A> ifExistsIncludingNullVars(Class<B> otherClass, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
      Specified by:
      ifExistsIncludingNullVars in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • ifExists

      @SafeVarargs public final <B> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A> ifExists(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<B> otherStream, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
    • ifNotExists

      @SafeVarargs public final <B> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A> ifNotExists(Class<B> otherClass, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
      Specified by:
      ifNotExists in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • ifNotExistsIncludingNullVars

      @SafeVarargs public final <B> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A> ifNotExistsIncludingNullVars(Class<B> otherClass, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
      Specified by:
      ifNotExistsIncludingNullVars in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • ifNotExists

      @SafeVarargs public final <B> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A> ifNotExists(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<B> otherStream, org.optaplanner.core.api.score.stream.bi.BiJoiner<A,B>... joiners)
    • groupBy

      public <ResultContainer_, Result_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Result_> groupBy(org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainer_,Result_> collector)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <ResultContainerA_, ResultA_, ResultContainerB_, ResultB_> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<ResultA_,ResultB_> groupBy(org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerA_,ResultA_> collectorA, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerB_,ResultB_> collectorB)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <ResultContainerA_, ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_> org.optaplanner.core.api.score.stream.tri.TriConstraintStream<ResultA_,ResultB_,ResultC_> groupBy(org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerA_,ResultA_> collectorA, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <ResultContainerA_, ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<ResultA_,ResultB_,ResultC_,ResultD_> groupBy(org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerA_,ResultA_> collectorA, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerD_,ResultD_> collectorD)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <GroupKey_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<GroupKey_> groupBy(Function<A,GroupKey_> groupKeyMapping)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <GroupKey_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_> org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKey_,ResultB_,ResultC_> groupBy(Function<A,GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <GroupKey_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKey_,ResultB_,ResultC_,ResultD_> groupBy(Function<A,GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerD_,ResultD_> collectorD)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <GroupKey_, ResultContainer_, Result_> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKey_,Result_> groupBy(Function<A,GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainer_,Result_> collector)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <GroupKeyA_, GroupKeyB_> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKeyA_,GroupKeyB_> groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <GroupKeyA_, GroupKeyB_, ResultContainer_, Result_> org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyB_,Result_> groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainer_,Result_> collector)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <GroupKeyA_, GroupKeyB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_> groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerD_,ResultD_> collectorD)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <GroupKeyA_, GroupKeyB_, GroupKeyC_> org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_> groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, Function<A,GroupKeyC_> groupKeyCMapping)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <GroupKeyA_, GroupKeyB_, GroupKeyC_, ResultContainerD_, ResultD_> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_,ResultD_> groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, Function<A,GroupKeyC_> groupKeyCMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,ResultContainerD_,ResultD_> collectorD)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • groupBy

      public <GroupKeyA_, GroupKeyB_, GroupKeyC_, GroupKeyD_> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_,GroupKeyD_> groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, Function<A,GroupKeyC_> groupKeyCMapping, Function<A,GroupKeyD_> groupKeyDMapping)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • map

      public <ResultA_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<ResultA_> map(Function<A,ResultA_> mapping)
      Specified by:
      map in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • flattenLast

      public <ResultA_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<ResultA_> flattenLast(Function<A,Iterable<ResultA_>> mapping)
      Specified by:
      flattenLast in interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Solution_>
    • innerImpact

      public <Score_ extends org.optaplanner.core.api.score.Score<Score_>> org.optaplanner.core.api.score.stream.uni.UniConstraintBuilder<A,Score_> innerImpact(Score_ constraintWeight, ToIntFunction<A> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType)
      Specified by:
      innerImpact in interface org.optaplanner.constraint.streams.common.uni.InnerUniConstraintStream<Solution_>
    • innerImpact

      public <Score_ extends org.optaplanner.core.api.score.Score<Score_>> org.optaplanner.core.api.score.stream.uni.UniConstraintBuilder<A,Score_> innerImpact(Score_ constraintWeight, ToLongFunction<A> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType)
      Specified by:
      innerImpact in interface org.optaplanner.constraint.streams.common.uni.InnerUniConstraintStream<Solution_>
    • innerImpact

      public <Score_ extends org.optaplanner.core.api.score.Score<Score_>> org.optaplanner.core.api.score.stream.uni.UniConstraintBuilder<A,Score_> innerImpact(Score_ constraintWeight, Function<A,BigDecimal> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType)
      Specified by:
      innerImpact in interface org.optaplanner.constraint.streams.common.uni.InnerUniConstraintStream<Solution_>
    • getDefaultJustificationMapping

      protected final BiFunction<A,org.optaplanner.core.api.score.Score<?>,org.optaplanner.core.api.score.stream.DefaultConstraintJustification> getDefaultJustificationMapping()
      Specified by:
      getDefaultJustificationMapping in class org.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
    • getDefaultIndictedObjectsMapping

      protected final Function<A,Collection<?>> getDefaultIndictedObjectsMapping()
      Specified by:
      getDefaultIndictedObjectsMapping in class org.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>