Class DroolsAbstractQuadConstraintStream<Solution_,A,B,C,D>

java.lang.Object
org.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream<Solution_,QuadLeftHandSide<A,B,C,D>>
org.optaplanner.constraint.streams.drools.quad.DroolsAbstractQuadConstraintStream<Solution_,A,B,C,D>
All Implemented Interfaces:
org.optaplanner.constraint.streams.common.quad.InnerQuadConstraintStream<A,B,C,D>, org.optaplanner.core.api.score.stream.ConstraintStream, org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,D>
Direct Known Subclasses:
DroolsExistsQuadConstraintStream, DroolsFilterQuadConstraintStream, DroolsFlatteningQuadConstraintStream, DroolsGroupingQuadConstraintStream, DroolsJoinQuadConstraintStream

public abstract class DroolsAbstractQuadConstraintStream<Solution_,A,B,C,D> extends DroolsAbstractConstraintStream<Solution_,QuadLeftHandSide<A,B,C,D>> implements org.optaplanner.constraint.streams.common.quad.InnerQuadConstraintStream<A,B,C,D>
  • Field Summary

    Fields inherited from class org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream

    constraintFactory
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
    org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,D>
    filter(org.optaplanner.core.api.function.QuadPredicate<A,B,C,D> predicate)
     
    <ResultD_> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,ResultD_>
    flattenLast(Function<D,Iterable<ResultD_>> mapping)
     
    protected final org.optaplanner.core.api.function.QuadFunction<A,B,C,D,Collection<?>>
     
    protected final org.optaplanner.core.api.function.PentaFunction<A,B,C,D,org.optaplanner.core.api.score.Score<?>,org.optaplanner.core.api.score.stream.DefaultConstraintJustification>
     
    <GroupKey_>
    org.optaplanner.core.api.score.stream.uni.UniConstraintStream<GroupKey_>
    groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping)
     
    <GroupKey_, ResultContainer_, Result_>
    org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKey_,Result_>
    groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
     
    <GroupKey_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
    org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKey_,ResultB_,ResultC_>
    groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC)
     
    <GroupKey_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
    org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKey_,ResultB_,ResultC_,ResultD_>
    groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)
     
    <GroupKeyA_, GroupKeyB_>
    org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKeyA_,GroupKeyB_>
    groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping)
     
    <GroupKeyA_, GroupKeyB_, GroupKeyC_>
    org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_>
    groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyC_> groupKeyCMapping)
     
    <GroupKeyA_, GroupKeyB_, GroupKeyC_, GroupKeyD_>
    org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_,GroupKeyD_>
    groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyC_> groupKeyCMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyD_> groupKeyDMapping)
     
    <GroupKeyA_, GroupKeyB_, GroupKeyC_, ResultContainerD_, ResultD_>
    org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_,ResultD_>
    groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyC_> groupKeyCMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)
     
    <GroupKeyA_, GroupKeyB_, ResultContainer_, Result_>
    org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyB_,Result_>
    groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
     
    <GroupKeyA_, GroupKeyB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
    org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>
    groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)
     
    <ResultContainer_, Result_>
    org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Result_>
    groupBy(org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
     
    <ResultContainerA_, ResultA_, ResultContainerB_, ResultB_>
    org.optaplanner.core.api.score.stream.bi.BiConstraintStream<ResultA_,ResultB_>
    groupBy(org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerA_,ResultA_> collectorA, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,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.quad.QuadConstraintCollector<A,B,C,D,ResultContainerA_,ResultA_> collectorA, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,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.quad.QuadConstraintCollector<A,B,C,D,ResultContainerA_,ResultA_> collectorA, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)
     
    final <E> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,D>
    ifExists(Class<E> otherClass, org.optaplanner.core.api.score.stream.penta.PentaJoiner<A,B,C,D,E>... joiners)
     
    final <E> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,D>
    ifExistsIncludingNullVars(Class<E> otherClass, org.optaplanner.core.api.score.stream.penta.PentaJoiner<A,B,C,D,E>... joiners)
     
    final <E> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,D>
    ifNotExists(Class<E> otherClass, org.optaplanner.core.api.score.stream.penta.PentaJoiner<A,B,C,D,E>... joiners)
     
    final <E> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,D>
    ifNotExistsIncludingNullVars(Class<E> otherClass, org.optaplanner.core.api.score.stream.penta.PentaJoiner<A,B,C,D,E>... joiners)
     
    <Score_ extends org.optaplanner.core.api.score.Score<Score_>>
    org.optaplanner.core.api.score.stream.quad.QuadConstraintBuilder<A,B,C,D,Score_>
    innerImpact(Score_ constraintWeight, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,BigDecimal> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType)
     
    <Score_ extends org.optaplanner.core.api.score.Score<Score_>>
    org.optaplanner.core.api.score.stream.quad.QuadConstraintBuilder<A,B,C,D,Score_>
    innerImpact(Score_ constraintWeight, org.optaplanner.core.api.function.ToIntQuadFunction<A,B,C,D> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType)
     
    <Score_ extends org.optaplanner.core.api.score.Score<Score_>>
    org.optaplanner.core.api.score.stream.quad.QuadConstraintBuilder<A,B,C,D,Score_>
    innerImpact(Score_ constraintWeight, org.optaplanner.core.api.function.ToLongQuadFunction<A,B,C,D> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType)
     
    <ResultA_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<ResultA_>
    map(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,ResultA_> mapping)
     

    Methods inherited from class org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream

    addChildStream, buildConstraint, createLeftHandSide, getChildStreams, getConstraintFactory

    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.quad.InnerQuadConstraintStream

    distinct, guaranteesDistinct, impact, impact, impact, impactBigDecimal, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableLong, impactLong, 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.quad.QuadConstraintStream

    ifExists, ifExists, ifExists, ifExists, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, impact, impact, impact, impactBigDecimal, impactBigDecimal, impactConfigurable, impactConfigurable, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableBigDecimal, impactConfigurableLong, impactConfigurableLong, impactLong, impactLong, 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
  • Constructor Details

    • DroolsAbstractQuadConstraintStream

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

    • filter

      public org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,D> filter(org.optaplanner.core.api.function.QuadPredicate<A,B,C,D> predicate)
      Specified by:
      filter in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • ifExists

      @SafeVarargs public final <E> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,D> ifExists(Class<E> otherClass, org.optaplanner.core.api.score.stream.penta.PentaJoiner<A,B,C,D,E>... joiners)
      Specified by:
      ifExists in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • ifExistsIncludingNullVars

      @SafeVarargs public final <E> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,D> ifExistsIncludingNullVars(Class<E> otherClass, org.optaplanner.core.api.score.stream.penta.PentaJoiner<A,B,C,D,E>... joiners)
      Specified by:
      ifExistsIncludingNullVars in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • ifNotExists

      @SafeVarargs public final <E> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,D> ifNotExists(Class<E> otherClass, org.optaplanner.core.api.score.stream.penta.PentaJoiner<A,B,C,D,E>... joiners)
      Specified by:
      ifNotExists in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • ifNotExistsIncludingNullVars

      @SafeVarargs public final <E> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,D> ifNotExistsIncludingNullVars(Class<E> otherClass, org.optaplanner.core.api.score.stream.penta.PentaJoiner<A,B,C,D,E>... joiners)
      Specified by:
      ifNotExistsIncludingNullVars in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • groupBy

      public <ResultContainer_, Result_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Result_> groupBy(org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • groupBy

      public <ResultContainerA_, ResultA_, ResultContainerB_, ResultB_> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<ResultA_,ResultB_> groupBy(org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerA_,ResultA_> collectorA, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • 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.quad.QuadConstraintCollector<A,B,C,D,ResultContainerA_,ResultA_> collectorA, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • 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.quad.QuadConstraintCollector<A,B,C,D,ResultContainerA_,ResultA_> collectorA, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • groupBy

      public <GroupKey_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<GroupKey_> groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • groupBy

      public <GroupKey_, ResultContainer_, Result_> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKey_,Result_> groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • groupBy

      public <GroupKey_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_> org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKey_,ResultB_,ResultC_> groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • groupBy

      public <GroupKey_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKey_,ResultB_,ResultC_,ResultD_> groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • groupBy

      public <GroupKeyA_, GroupKeyB_> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKeyA_,GroupKeyB_> groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • groupBy

      public <GroupKeyA_, GroupKeyB_, ResultContainer_, Result_> org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyB_,Result_> groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • groupBy

      public <GroupKeyA_, GroupKeyB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_> groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • groupBy

      public <GroupKeyA_, GroupKeyB_, GroupKeyC_> org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_> groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyC_> groupKeyCMapping)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • groupBy

      public <GroupKeyA_, GroupKeyB_, GroupKeyC_, ResultContainerD_, ResultD_> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_,ResultD_> groupBy(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,GroupKeyC_> groupKeyCMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)
      Specified by:
      groupBy in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • groupBy

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

      public <ResultA_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<ResultA_> map(org.optaplanner.core.api.function.QuadFunction<A,B,C,D,ResultA_> mapping)
      Specified by:
      map in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • flattenLast

      public <ResultD_> org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,ResultD_> flattenLast(Function<D,Iterable<ResultD_>> mapping)
      Specified by:
      flattenLast in interface org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<Solution_,A,B,C>
    • innerImpact

      public <Score_ extends org.optaplanner.core.api.score.Score<Score_>> org.optaplanner.core.api.score.stream.quad.QuadConstraintBuilder<A,B,C,D,Score_> innerImpact(Score_ constraintWeight, org.optaplanner.core.api.function.ToIntQuadFunction<A,B,C,D> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType)
      Specified by:
      innerImpact in interface org.optaplanner.constraint.streams.common.quad.InnerQuadConstraintStream<Solution_,A,B,C>
    • innerImpact

      public <Score_ extends org.optaplanner.core.api.score.Score<Score_>> org.optaplanner.core.api.score.stream.quad.QuadConstraintBuilder<A,B,C,D,Score_> innerImpact(Score_ constraintWeight, org.optaplanner.core.api.function.ToLongQuadFunction<A,B,C,D> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType)
      Specified by:
      innerImpact in interface org.optaplanner.constraint.streams.common.quad.InnerQuadConstraintStream<Solution_,A,B,C>
    • innerImpact

      public <Score_ extends org.optaplanner.core.api.score.Score<Score_>> org.optaplanner.core.api.score.stream.quad.QuadConstraintBuilder<A,B,C,D,Score_> innerImpact(Score_ constraintWeight, org.optaplanner.core.api.function.QuadFunction<A,B,C,D,BigDecimal> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType)
      Specified by:
      innerImpact in interface org.optaplanner.constraint.streams.common.quad.InnerQuadConstraintStream<Solution_,A,B,C>
    • getDefaultJustificationMapping

      protected final org.optaplanner.core.api.function.PentaFunction<A,B,C,D,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 org.optaplanner.core.api.function.QuadFunction<A,B,C,D,Collection<?>> getDefaultIndictedObjectsMapping()
      Specified by:
      getDefaultIndictedObjectsMapping in class org.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>