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

## Class DroolsQuadGroupByAccumulator<A,​B,​C,​D,​NewA,​NewB,​NewC,​NewD>

- java.lang.Object
- - org.optaplanner.core.impl.score.stream.drools.common.DroolsAbstractGroupByAccumulator<QuadTuple<A,​B,​C,​D>>
  - - org.optaplanner.core.impl.score.stream.drools.quad.DroolsQuadGroupByAccumulator<A,​B,​C,​D,​NewA,​NewB,​NewC,​NewD>

- All Implemented Interfaces:
    `org.drools.core.spi.Accumulator`, `org.drools.core.spi.Invoker`, `org.drools.core.spi.RuleComponent`

      public class DroolsQuadGroupByAccumulator<A,​B,​C,​D,​NewA,​NewB,​NewC,​NewD>
      extends DroolsAbstractGroupByAccumulator<QuadTuple<A,​B,​C,​D>>

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.drools.core.spi.Accumulator

      `org.drools.core.spi.Accumulator.SafeAccumulator`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DroolsQuadGroupByAccumulator​(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, org.drools.model.Variable<A> aVariable, org.drools.model.Variable<B> bVariable, org.drools.model.Variable<C> cVariable, org.drools.model.Variable<D> dVariable)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected <X> QuadTuple<A,​B,​C,​D>` | `createInput​(Function<org.drools.model.Variable<X>,​X> valueFinder)` |
    `protected DroolsAbstractGroupBy<QuadTuple<A,​B,​C,​D>,​?>` | `newContext()` |

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

      `accumulate, createContext, createWorkingMemoryContext, getResult, getValue, init, materialize, supportsReverse, tryReverse`

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

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

- - ### Constructor Detail

    - #### DroolsQuadGroupByAccumulator

          public DroolsQuadGroupByAccumulator​(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,
                                              org.drools.model.Variable<A> aVariable,
                                              org.drools.model.Variable<B> bVariable,
                                              org.drools.model.Variable<C> cVariable,
                                              org.drools.model.Variable<D> dVariable)

  - ### Method Detail

    - #### newContext

          protected DroolsAbstractGroupBy<QuadTuple<A,​B,​C,​D>,​?> newContext()

      Specified by:
        `newContext` in class `DroolsAbstractGroupByAccumulator<QuadTuple<A,​B,​C,​D>>`

    - #### createInput

          protected <X> QuadTuple<A,​B,​C,​D> createInput​(Function<org.drools.model.Variable<X>,​X> valueFinder)

      Specified by:
        `createInput` in class `DroolsAbstractGroupByAccumulator<QuadTuple<A,​B,​C,​D>>`