Package org.optaplanner.core.impl.score.stream.drools.quad

## Class DroolsQuadCondition<A,​B,​C,​D,​PatternVar>

- java.lang.Object
- - org.optaplanner.core.impl.score.stream.drools.common.DroolsCondition<PatternVar,​DroolsQuadRuleStructure<A,​B,​C,​D,​PatternVar>>
  - - org.optaplanner.core.impl.score.stream.drools.quad.DroolsQuadCondition<A,​B,​C,​D,​PatternVar>

-     public final class DroolsQuadCondition<A,​B,​C,​D,​PatternVar>
      extends DroolsCondition<PatternVar,​DroolsQuadRuleStructure<A,​B,​C,​D,​PatternVar>>

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.optaplanner.core.impl.score.stream.drools.common.DroolsCondition

      `DroolsCondition.ImmediatelyPreviousFilter<PredicateType>, DroolsCondition.Mutator<InTuple,​OutPatternVar,​R extends DroolsRuleStructure<OutPatternVar>,​C extends DroolsCondition<OutPatternVar,​R>>`

  - ### Field Summary

    - ### Fields inherited from class org.optaplanner.core.impl.score.stream.drools.common.DroolsCondition

      `ruleStructure`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DroolsQuadCondition​(DroolsQuadRuleStructure<A,​B,​C,​D,​PatternVar> ruleStructure)` |
    `DroolsQuadCondition​(DroolsQuadRuleStructure<A,​B,​C,​D,​PatternVar> ruleStructure, DroolsCondition.ImmediatelyPreviousFilter<QuadPredicate<A,​B,​C,​D>> previousFilter)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<NewA,​__> DroolsUniCondition<NewA,​NewA>` | `andCollect​(QuadConstraintCollector<A,​B,​C,​D,​__,​NewA> collector)` |
    `DroolsQuadCondition<A,​B,​C,​D,​PatternVar>` | `andFilter​(QuadPredicate<A,​B,​C,​D> predicate)` |
    `<NewA> DroolsUniCondition<NewA,​?>` | `andGroup​(QuadFunction<A,​B,​C,​D,​NewA> groupKeyMapping)` |
    `<NewA,​NewB> DroolsBiCondition<NewA,​NewB,​?>` | `andGroupBi​(QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping, QuadFunction<A,​B,​C,​D,​NewB> groupKeyBMapping)` |
    `<NewA,​NewB,​NewC,​__> DroolsTriCondition<NewA,​NewB,​NewC,​TriTuple<NewA,​NewB,​NewC>>` | `andGroupBiWithCollect​(QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping, QuadFunction<A,​B,​C,​D,​NewB> groupKeyBMapping, QuadConstraintCollector<A,​B,​C,​D,​__,​NewC> collector)` |
    `<NewA,​NewB,​NewC,​NewD> DroolsQuadCondition<NewA,​NewB,​NewC,​NewD,​QuadTuple<NewA,​NewB,​NewC,​NewD>>` | `andGroupBiWithCollectBi​(QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping, QuadFunction<A,​B,​C,​D,​NewB> groupKeyBMapping, QuadConstraintCollector<A,​B,​C,​D,​?,​NewC> collectorC, QuadConstraintCollector<A,​B,​C,​D,​?,​NewD> collectorD)` |
    `<NewA,​NewB,​__> DroolsBiCondition<NewA,​NewB,​BiTuple<NewA,​NewB>>` | `andGroupWithCollect​(QuadFunction<A,​B,​C,​D,​NewA> groupKeyMapping, QuadConstraintCollector<A,​B,​C,​D,​__,​NewB> collector)` |
    `<E> DroolsQuadCondition<A,​B,​C,​D,​PatternVar>` | `andIfExists​(Class<E> otherClass, PentaJoiner<A,​B,​C,​D,​E>... joiners)` |
    `<E> DroolsQuadCondition<A,​B,​C,​D,​PatternVar>` | `andIfNotExists​(Class<E> otherClass, PentaJoiner<A,​B,​C,​D,​E>... joiners)` |
    `protected <InTuple> org.drools.model.PatternDSL.PatternDef<PatternVar>` | `bindTupleVariableOnFirstGrouping​(org.drools.model.PatternDSL.PatternDef<PatternVar> pattern, org.drools.model.Variable<InTuple> tupleVariable)` |
    `List<org.drools.model.RuleItemBuilder<?>>` | `completeWithScoring​(org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal)` |
    `List<org.drools.model.RuleItemBuilder<?>>` | `completeWithScoring​(DroolsConstraint<?> constraint, org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal, QuadFunction<A,​B,​C,​D,​BigDecimal> matchWeighter)` |
    `List<org.drools.model.RuleItemBuilder<?>>` | `completeWithScoring​(DroolsConstraint<?> constraint, org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal, ToIntQuadFunction<A,​B,​C,​D> matchWeighter)` |
    `List<org.drools.model.RuleItemBuilder<?>>` | `completeWithScoring​(DroolsConstraint<?> constraint, org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal, ToLongQuadFunction<A,​B,​C,​D> matchWeighter)` |

    - ### Methods inherited from class org.optaplanner.core.impl.score.stream.drools.common.DroolsCondition

      `collect, getExpectedJustificationTypes, getInnerAccumulatePattern, getRuleStructure, groupBiWithCollect, groupBiWithCollectBi, groupWithCollect, impactScore, impactScore, impactScore, impactScore`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### DroolsQuadCondition

          public DroolsQuadCondition​(DroolsQuadRuleStructure<A,​B,​C,​D,​PatternVar> ruleStructure)

    - #### DroolsQuadCondition

          public DroolsQuadCondition​(DroolsQuadRuleStructure<A,​B,​C,​D,​PatternVar> ruleStructure,
                                     DroolsCondition.ImmediatelyPreviousFilter<QuadPredicate<A,​B,​C,​D>> previousFilter)

  - ### Method Detail

    - #### andFilter

          public DroolsQuadCondition<A,​B,​C,​D,​PatternVar> andFilter​(QuadPredicate<A,​B,​C,​D> predicate)

    - #### andIfExists

          @SafeVarargs
          public final <E> DroolsQuadCondition<A,​B,​C,​D,​PatternVar> andIfExists​(Class<E> otherClass,
                                                                                                       PentaJoiner<A,​B,​C,​D,​E>... joiners)

    - #### andIfNotExists

          @SafeVarargs
          public final <E> DroolsQuadCondition<A,​B,​C,​D,​PatternVar> andIfNotExists​(Class<E> otherClass,
                                                                                                          PentaJoiner<A,​B,​C,​D,​E>... joiners)

    - #### bindTupleVariableOnFirstGrouping

          protected <InTuple> org.drools.model.PatternDSL.PatternDef<PatternVar> bindTupleVariableOnFirstGrouping​(org.drools.model.PatternDSL.PatternDef<PatternVar> pattern,
                                                                                                                  org.drools.model.Variable<InTuple> tupleVariable)

      Specified by:
        `bindTupleVariableOnFirstGrouping` in class `DroolsCondition<PatternVar,​DroolsQuadRuleStructure<A,​B,​C,​D,​PatternVar>>`

    - #### andCollect

          public <NewA,​__> DroolsUniCondition<NewA,​NewA> andCollect​(QuadConstraintCollector<A,​B,​C,​D,​__,​NewA> collector)

    - #### andGroup

          public <NewA> DroolsUniCondition<NewA,​?> andGroup​(QuadFunction<A,​B,​C,​D,​NewA> groupKeyMapping)

    - #### andGroupWithCollect

          public <NewA,​NewB,​__> DroolsBiCondition<NewA,​NewB,​BiTuple<NewA,​NewB>> andGroupWithCollect​(QuadFunction<A,​B,​C,​D,​NewA> groupKeyMapping,
                                                                                                                                  QuadConstraintCollector<A,​B,​C,​D,​__,​NewB> collector)

    - #### andGroupBi

          public <NewA,​NewB> DroolsBiCondition<NewA,​NewB,​?> andGroupBi​(QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping,
                                                                                         QuadFunction<A,​B,​C,​D,​NewB> groupKeyBMapping)

    - #### andGroupBiWithCollect

          public <NewA,​NewB,​NewC,​__> DroolsTriCondition<NewA,​NewB,​NewC,​TriTuple<NewA,​NewB,​NewC>> andGroupBiWithCollect​(QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping,
                                                                                                                                                                       QuadFunction<A,​B,​C,​D,​NewB> groupKeyBMapping,
                                                                                                                                                                       QuadConstraintCollector<A,​B,​C,​D,​__,​NewC> collector)

    - #### andGroupBiWithCollectBi

          public <NewA,​NewB,​NewC,​NewD> DroolsQuadCondition<NewA,​NewB,​NewC,​NewD,​QuadTuple<NewA,​NewB,​NewC,​NewD>> andGroupBiWithCollectBi​(QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping,
                                                                                                                                                                                                   QuadFunction<A,​B,​C,​D,​NewB> groupKeyBMapping,
                                                                                                                                                                                                   QuadConstraintCollector<A,​B,​C,​D,​?,​NewC> collectorC,
                                                                                                                                                                                                   QuadConstraintCollector<A,​B,​C,​D,​?,​NewD> collectorD)

    - #### completeWithScoring

          public List<org.drools.model.RuleItemBuilder<?>> completeWithScoring​(org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal)

    - #### completeWithScoring

          public List<org.drools.model.RuleItemBuilder<?>> completeWithScoring​(DroolsConstraint<?> constraint,
                                                                               org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal,
                                                                               ToIntQuadFunction<A,​B,​C,​D> matchWeighter)

    - #### completeWithScoring

          public List<org.drools.model.RuleItemBuilder<?>> completeWithScoring​(DroolsConstraint<?> constraint,
                                                                               org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal,
                                                                               ToLongQuadFunction<A,​B,​C,​D> matchWeighter)

    - #### completeWithScoring

          public List<org.drools.model.RuleItemBuilder<?>> completeWithScoring​(DroolsConstraint<?> constraint,
                                                                               org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal,
                                                                               QuadFunction<A,​B,​C,​D,​BigDecimal> matchWeighter)