Class TriLeftHandSide<A,​B,​C>

  • Type Parameters:
    A - generic type of the first resulting variable
    B - generic type of the second resulting variable
    C - generic type of the third resulting variable

    public final class TriLeftHandSide<A,​B,​C>
    extends Object
    Represents the left hand side of a Drools rule, the result of which are three variables. For more, see UniLeftHandSide and BiLeftHandSide.
    • Method Detail

      • andTerminate

        public <Solution_> RuleBuilder<Solution_> andTerminate()
      • getConstraintType

        protected static org.drools.model.Index.ConstraintType getConstraintType​(JoinerType type)
      • joinViewItemsWithLogicalAnd

        protected static org.drools.model.view.ViewItem<?> joinViewItemsWithLogicalAnd​(PatternVariable<?,​?,​?>... patternVariables)
      • mergeViewItems

        protected static List<org.drools.model.view.ViewItem<?>> mergeViewItems​(PatternVariable<?,​?,​?>... patternVariables)
      • decompose

        protected static <A,​B> org.optaplanner.core.impl.score.stream.drools.common.IndirectPatternVariable<B,​BiTuple<A,​B>> decompose​(org.drools.model.Variable<BiTuple<A,​B>> primaryVariable,
                                                                                                                                                        org.drools.model.view.ViewItem<?> prerequisitePattern,
                                                                                                                                                        org.drools.model.Variable<A> boundVarA,
                                                                                                                                                        org.drools.model.Variable<B> boundVarB)
        Create an IndirectPatternVariable on BiTuple with pre-made bindings for its components variables.
        Type Parameters:
        A - generic type of the first bound variable
        B - generic type of the second bound variable
        Parameters:
        primaryVariable - never null
        prerequisitePattern - never null, pattern required to construct the variable
        boundVarA - never null, BiTuple.a
        boundVarB - never null, BiTuple.b
        Returns:
        never null
      • decomposeWithAccumulate

        protected static <A,​B,​C> org.optaplanner.core.impl.score.stream.drools.common.DirectPatternVariable<C> decomposeWithAccumulate​(org.drools.model.Variable<BiTuple<A,​B>> primaryVariable,
                                                                                                                                                   org.drools.model.view.ViewItem<?> prerequisitePattern,
                                                                                                                                                   org.drools.model.Variable<A> boundVarA,
                                                                                                                                                   org.drools.model.Variable<B> boundVarB,
                                                                                                                                                   org.drools.model.Variable<C> accumulateOutput)
        Create a DirectPatternVariable on BiTuple with pre-made bindings for its components variables and one accumulate output variable.
        Type Parameters:
        A - generic type of the first bound variable
        B - generic type of the second bound variable
        C - generic type of the accumulate output variable
        Parameters:
        primaryVariable - never null
        prerequisitePattern - never null, pattern required to construct the variable
        boundVarA - never null, TriTuple.a
        boundVarB - never null, TriTuple.b
        accumulateOutput - never null, output of the accumulate function
        Returns:
        never null
      • decompose

        protected static <A,​B,​C> org.optaplanner.core.impl.score.stream.drools.common.IndirectPatternVariable<C,​TriTuple<A,​B,​C>> decompose​(org.drools.model.Variable<TriTuple<A,​B,​C>> primaryVariable,
                                                                                                                                                                         org.drools.model.view.ViewItem<?> prerequisitePattern,
                                                                                                                                                                         org.drools.model.Variable<A> boundVarA,
                                                                                                                                                                         org.drools.model.Variable<B> boundVarB,
                                                                                                                                                                         org.drools.model.Variable<C> boundVarC)
        Create an IndirectPatternVariable on TriTuple with pre-made bindings for its components variables.
        Type Parameters:
        A - generic type of the first bound variable
        B - generic type of the second bound variable
        C - generic type of the third bound variable
        Parameters:
        primaryVariable - never null
        prerequisitePattern - never null, pattern required to construct the variable
        boundVarA - never null, TriTuple.a
        boundVarB - never null, TriTuple.b
        boundVarC - never null, TriTuple.c
        Returns:
        never null
      • decompose

        protected static <A,​B,​C,​D> org.optaplanner.core.impl.score.stream.drools.common.IndirectPatternVariable<D,​QuadTuple<A,​B,​C,​D>> decompose​(org.drools.model.Variable<QuadTuple<A,​B,​C,​D>> primaryVariable,
                                                                                                                                                                                          org.drools.model.view.ViewItem<?> prerequisitePattern,
                                                                                                                                                                                          org.drools.model.Variable<A> boundVarA,
                                                                                                                                                                                          org.drools.model.Variable<B> boundVarB,
                                                                                                                                                                                          org.drools.model.Variable<C> boundVarC,
                                                                                                                                                                                          org.drools.model.Variable<D> boundVarD)
        Create an IndirectPatternVariable on QuadTuple with pre-made bindings for its components variables.
        Type Parameters:
        A - generic type of the first bound variable
        B - generic type of the second bound variable
        C - generic type of the third bound variable
        D - generic type of the fourth bound variable
        Parameters:
        primaryVariable - never null
        prerequisitePattern - never null, pattern required to construct the variable
        boundVarA - never null, QuadTuple.a
        boundVarB - never null, QuadTuple.b
        boundVarC - never null, QuadTuple.c
        boundVarD - never null, QuadTuple.d
        Returns:
        never null
      • decomposeWithAccumulate

        protected static <A,​B,​C,​D> org.optaplanner.core.impl.score.stream.drools.common.DirectPatternVariable<D> decomposeWithAccumulate​(org.drools.model.Variable<TriTuple<A,​B,​C>> primaryVariable,
                                                                                                                                                           org.drools.model.view.ViewItem<?> prerequisitePattern,
                                                                                                                                                           org.drools.model.Variable<A> boundVarA,
                                                                                                                                                           org.drools.model.Variable<B> boundVarB,
                                                                                                                                                           org.drools.model.Variable<C> boundVarC,
                                                                                                                                                           org.drools.model.Variable<D> accumulateOutput)
        Create a DirectPatternVariable on TriTuple with pre-made bindings for its components variables and one accumulate output variable.
        Type Parameters:
        A - generic type of the first bound variable
        B - generic type of the second bound variable
        C - generic type of the third bound variable
        D - generic type of the accumulate output variable
        Parameters:
        primaryVariable - never null
        prerequisitePattern - never null, pattern required to construct the variable
        boundVarA - never null, TriTuple.a
        boundVarB - never null, TriTuple.b
        boundVarC - never null, TriTuple.c
        accumulateOutput - never null, output of the accumulate function
        Returns:
        never null
      • buildAccumulate

        protected static org.drools.model.view.ViewItem<?> buildAccumulate​(org.drools.model.view.ViewItem<?> innerAccumulatePattern,
                                                                           org.drools.model.functions.accumulate.AccumulateFunction... accFunctions)