Class DroolsFilterQuadConstraintStream<Solution_,A,B,C,D>

java.lang.Object
org.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream<Solution_,QuadLeftHandSide<A,B,C,D>>
org.optaplanner.constraint.streams.drools.quad.DroolsAbstractQuadConstraintStream<Solution_,A,B,C,D>
org.optaplanner.constraint.streams.drools.quad.DroolsFilterQuadConstraintStream<Solution_,A,B,C,D>
All Implemented Interfaces:
org.optaplanner.constraint.streams.common.quad.InnerQuadConstraintStream<A,B,C,D>, org.optaplanner.core.api.score.stream.ConstraintStream, org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<A,B,C,D>

public final class DroolsFilterQuadConstraintStream<Solution_,A,B,C,D> extends DroolsAbstractQuadConstraintStream<Solution_,A,B,C,D>
  • Constructor Details

  • Method Details

    • guaranteesDistinct

      public boolean guaranteesDistinct()
    • createLeftHandSide

      public QuadLeftHandSide<A,B,C,D> createLeftHandSide()
      Description copied from class: DroolsAbstractConstraintStream
      Some constructs in the Drools executable model may not be reused between different rules. They are, among others, variable instances and beta indexes. Therefore an instance of AbstractLeftHandSide must never be used to create more than one rule. Therefore every constraint stream re-creates the entire chain of left hand sides every time a new rule is built. It is then left up to Drools to node-share everything it can.
      Specified by:
      createLeftHandSide in class DroolsAbstractConstraintStream<Solution_,QuadLeftHandSide<A,B,C,D>>
      Returns:
      never null, different instance on every call
    • toString

      public String toString()
      Overrides:
      toString in class Object