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

## Class DroolsUniCondition<A,​PatternVar>

- java.lang.Object
- - org.optaplanner.core.impl.score.stream.drools.common.DroolsCondition<PatternVar,​DroolsUniRuleStructure<A,​PatternVar>>
  - - org.optaplanner.core.impl.score.stream.drools.uni.DroolsUniCondition<A,​PatternVar>

-     public final class DroolsUniCondition<A,​PatternVar>
      extends DroolsCondition<PatternVar,​DroolsUniRuleStructure<A,​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
    --- | ---
    `DroolsUniCondition​(Class<A> aVariableType, LongSupplier variableIdSupplier)` |
    `DroolsUniCondition​(DroolsUniRuleStructure<A,​PatternVar> ruleStructure)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<NewA,​__> DroolsUniCondition<NewA,​NewA>` | `andCollect​(UniConstraintCollector<A,​__,​NewA> collector)` |
    `DroolsUniCondition<A,​PatternVar>` | `andFilter​(Predicate<A> predicate)` |
    `<NewA> DroolsUniCondition<NewA,​NewA>` | `andGroup​(Function<A,​NewA> groupKeyMapping)` |
    `<NewA,​NewB> DroolsBiCondition<NewA,​NewB,​BiTuple<NewA,​NewB>>` | `andGroupBi​(Function<A,​NewA> groupKeyAMapping, Function<A,​NewB> groupKeyBMapping)` |
    `<NewA,​NewB,​NewC> DroolsTriCondition<NewA,​NewB,​NewC,​TriTuple<NewA,​NewB,​NewC>>` | `andGroupBiWithCollect​(Function<A,​NewA> groupKeyAMapping, Function<A,​NewB> groupKeyBMapping, UniConstraintCollector<A,​?,​NewC> collector)` |
    `<NewA,​NewB,​NewC,​NewD> DroolsQuadCondition<NewA,​NewB,​NewC,​NewD,​QuadTuple<NewA,​NewB,​NewC,​NewD>>` | `andGroupBiWithCollectBi​(Function<A,​NewA> groupKeyAMapping, Function<A,​NewB> groupKeyBMapping, UniConstraintCollector<A,​?,​NewC> collectorC, UniConstraintCollector<A,​?,​NewD> collectorD)` |
    `<NewA,​NewB> DroolsBiCondition<NewA,​NewB,​BiTuple<NewA,​NewB>>` | `andGroupWithCollect​(Function<A,​NewA> groupKeyMapping, UniConstraintCollector<A,​?,​NewB> collector)` |
    `<B> DroolsUniCondition<A,​PatternVar>` | `andIfExists​(Class<B> otherClass, BiJoiner<A,​B>... biJoiners)` |
    `<B> DroolsUniCondition<A,​PatternVar>` | `andIfNotExists​(Class<B> otherClass, BiJoiner<A,​B>... biJoiners)` |
    `<B,​BPatternVar> DroolsBiCondition<A,​B,​BPatternVar>` | `andJoin​(DroolsUniCondition<B,​BPatternVar> bCondition, AbstractBiJoiner<A,​B> biJoiner)` |
    `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, Function<A,​BigDecimal> matchWeighter)` |
    `List<org.drools.model.RuleItemBuilder<?>>` | `completeWithScoring​(DroolsConstraint<?> constraint, org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal, ToIntFunction<A> matchWeighter)` |
    `List<org.drools.model.RuleItemBuilder<?>>` | `completeWithScoring​(DroolsConstraint<?> constraint, org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal, ToLongFunction<A> matchWeighter)` |
    `static org.drools.model.Index.ConstraintType` | `getConstraintType​(JoinerType type)` |

    - ### 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

    - #### DroolsUniCondition

          public DroolsUniCondition​(Class<A> aVariableType,
                                    LongSupplier variableIdSupplier)

    - #### DroolsUniCondition

          public DroolsUniCondition​(DroolsUniRuleStructure<A,​PatternVar> ruleStructure)

  - ### Method Detail

    - #### getConstraintType

          public static org.drools.model.Index.ConstraintType getConstraintType​(JoinerType type)

    - #### andFilter

          public DroolsUniCondition<A,​PatternVar> andFilter​(Predicate<A> predicate)

    - #### 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,​DroolsUniRuleStructure<A,​PatternVar>>`

    - #### andCollect

          public <NewA,​__> DroolsUniCondition<NewA,​NewA> andCollect​(UniConstraintCollector<A,​__,​NewA> collector)

    - #### andGroup

          public <NewA> DroolsUniCondition<NewA,​NewA> andGroup​(Function<A,​NewA> groupKeyMapping)

    - #### andGroupWithCollect

          public <NewA,​NewB> DroolsBiCondition<NewA,​NewB,​BiTuple<NewA,​NewB>> andGroupWithCollect​(Function<A,​NewA> groupKeyMapping,
                                                                                                                         UniConstraintCollector<A,​?,​NewB> collector)

    - #### andGroupBi

          public <NewA,​NewB> DroolsBiCondition<NewA,​NewB,​BiTuple<NewA,​NewB>> andGroupBi​(Function<A,​NewA> groupKeyAMapping,
                                                                                                                Function<A,​NewB> groupKeyBMapping)

    - #### andGroupBiWithCollect

          public <NewA,​NewB,​NewC> DroolsTriCondition<NewA,​NewB,​NewC,​TriTuple<NewA,​NewB,​NewC>> andGroupBiWithCollect​(Function<A,​NewA> groupKeyAMapping,
                                                                                                                                                              Function<A,​NewB> groupKeyBMapping,
                                                                                                                                                              UniConstraintCollector<A,​?,​NewC> collector)

    - #### andGroupBiWithCollectBi

          public <NewA,​NewB,​NewC,​NewD> DroolsQuadCondition<NewA,​NewB,​NewC,​NewD,​QuadTuple<NewA,​NewB,​NewC,​NewD>> andGroupBiWithCollectBi​(Function<A,​NewA> groupKeyAMapping,
                                                                                                                                                                                                   Function<A,​NewB> groupKeyBMapping,
                                                                                                                                                                                                   UniConstraintCollector<A,​?,​NewC> collectorC,
                                                                                                                                                                                                   UniConstraintCollector<A,​?,​NewD> collectorD)

    - #### andJoin

          public <B,​BPatternVar> DroolsBiCondition<A,​B,​BPatternVar> andJoin​(DroolsUniCondition<B,​BPatternVar> bCondition,
                                                                                              AbstractBiJoiner<A,​B> biJoiner)

    - #### andIfExists

          @SafeVarargs
          public final <B> DroolsUniCondition<A,​PatternVar> andIfExists​(Class<B> otherClass,
                                                                              BiJoiner<A,​B>... biJoiners)

    - #### andIfNotExists

          @SafeVarargs
          public final <B> DroolsUniCondition<A,​PatternVar> andIfNotExists​(Class<B> otherClass,
                                                                                 BiJoiner<A,​B>... biJoiners)

    - #### 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,
                                                                               ToIntFunction<A> matchWeighter)

    - #### completeWithScoring

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

    - #### completeWithScoring

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