# Hierarchy For Package org.optaplanner.core.impl.score.stream.drools.bi

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.optaplanner.core.impl.score.stream.common.AbstractConstraintStream<Solution_> (implements org.optaplanner.core.api.score.stream.ConstraintStream)
    - org.optaplanner.core.impl.score.stream.drools.common.DroolsAbstractConstraintStream<Solution_>
      - org.optaplanner.core.impl.score.stream.drools.bi.DroolsAbstractBiConstraintStream<Solution_,​A,​B> (implements org.optaplanner.core.impl.score.stream.bi.InnerBiConstraintStream<A,​B>)
        - org.optaplanner.core.impl.score.stream.drools.bi.DroolsExistsBiConstraintStream<Solution_,​A,​B>
        - org.optaplanner.core.impl.score.stream.drools.bi.DroolsFilterBiConstraintStream<Solution_,​A,​B>
        - org.optaplanner.core.impl.score.stream.drools.bi.DroolsGroupingBiConstraintStream<Solution_,​NewA,​NewB>
        - org.optaplanner.core.impl.score.stream.drools.bi.DroolsJoinBiConstraintStream<Solution_,​A,​B>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsAbstractAccumulateFunction<ResultContainer_,​InTuple,​OutTuple> (implements org.kie.api.runtime.rule.AccumulateFunction<C>)
    - org.optaplanner.core.impl.score.stream.drools.bi.DroolsBiAccumulateFunction<A,​B,​ResultContainer_,​NewA>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsAbstractGroupByAccumulator<InTuple> (implements org.drools.core.spi.Accumulator)
    - org.optaplanner.core.impl.score.stream.drools.bi.DroolsBiGroupByAccumulator<A,​B,​NewA,​NewB>
    - org.optaplanner.core.impl.score.stream.drools.bi.DroolsBiToQuadGroupByAccumulator<A,​B,​NewA,​NewB,​NewC,​NewD>
    - org.optaplanner.core.impl.score.stream.drools.bi.DroolsBiToTriGroupByAccumulator<A,​B,​NewA,​NewB,​NewC>