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

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.tri.DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> (implements org.optaplanner.core.impl.score.stream.tri.InnerTriConstraintStream<A,​B,​C>)
        - org.optaplanner.core.impl.score.stream.drools.tri.DroolsExistsTriConstraintStream<Solution_,​A,​B,​C>
        - org.optaplanner.core.impl.score.stream.drools.tri.DroolsFilterTriConstraintStream<Solution_,​A,​B,​C>
        - org.optaplanner.core.impl.score.stream.drools.tri.DroolsGroupingTriConstraintStream<Solution_,​NewA,​NewB,​NewC>
        - org.optaplanner.core.impl.score.stream.drools.tri.DroolsJoinTriConstraintStream<Solution_,​A,​B,​C>
        - org.optaplanner.core.impl.score.stream.drools.tri.DroolsScoringTriConstraintStream<Solution_,​A,​B,​C>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsAbstractGroupByAccumulator<InTuple> (implements org.drools.core.spi.Accumulator)
    - org.optaplanner.core.impl.score.stream.drools.tri.DroolsTriGroupByAccumulator<A,​B,​C,​NewA,​NewB,​NewC>
    - org.optaplanner.core.impl.score.stream.drools.tri.DroolsTriToBiGroupByAccumulator<A,​B,​C,​NewA,​NewB>
    - org.optaplanner.core.impl.score.stream.drools.tri.DroolsTriToQuadGroupByAccumulator<A,​B,​C,​NewA,​NewB,​NewC,​NewD>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsCondition<PatternVar,​T>
    - org.optaplanner.core.impl.score.stream.drools.tri.DroolsTriCondition<A,​B,​C,​PatternVar>
  - org.optaplanner.core.impl.score.stream.drools.common.DroolsRuleStructure<PatternVar>
    - org.optaplanner.core.impl.score.stream.drools.tri.DroolsTriRuleStructure<A,​B,​C,​PatternVar>