# 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.bi.DroolsScoringBiConstraintStream<Solution_,​A,​B>
  - 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>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsCondition<PatternVar,​T>
    - org.optaplanner.core.impl.score.stream.drools.bi.DroolsBiCondition<A,​B,​PatternVar>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsRuleStructure<PatternVar>
    - org.optaplanner.core.impl.score.stream.drools.bi.DroolsBiRuleStructure<A,​B,​PatternVar>