Class DroolsGroupingQuadConstraintStream<Solution_,​NewA,​NewB,​NewC,​NewD>

  • All Implemented Interfaces:
    org.optaplanner.constraint.streams.common.quad.InnerQuadConstraintStream<NewA,​NewB,​NewC,​NewD>, org.optaplanner.core.api.score.stream.ConstraintStream, org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<NewA,​NewB,​NewC,​NewD>

    public final class DroolsGroupingQuadConstraintStream<Solution_,​NewA,​NewB,​NewC,​NewD>
    extends DroolsAbstractQuadConstraintStream<Solution_,​NewA,​NewB,​NewC,​NewD>
    • Constructor Detail

      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractUniConstraintStream<Solution_,​A> parent,
                                                  Function<A,​NewA> groupKeyAMapping,
                                                  org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,​?,​NewB> collectorB,
                                                  org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,​?,​NewC> collectorC,
                                                  org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,​?,​NewD> collectorD)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent,
                                                  BiFunction<A,​B,​NewA> groupKeyAMapping,
                                                  org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A,​B,​?,​NewB> collectorB,
                                                  org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A,​B,​?,​NewC> collectorC,
                                                  org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A,​B,​?,​NewD> collectorD)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent,
                                                  org.optaplanner.core.api.function.TriFunction<A,​B,​C,​NewA> groupKeyAMapping,
                                                  org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A,​B,​C,​?,​NewB> collectorB,
                                                  org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A,​B,​C,​?,​NewC> collectorC,
                                                  org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A,​B,​C,​?,​NewD> collectorD)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent,
                                                  org.optaplanner.core.api.function.QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping,
                                                  org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,​B,​C,​D,​?,​NewB> collectorB,
                                                  org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,​B,​C,​D,​?,​NewC> collectorC,
                                                  org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,​B,​C,​D,​?,​NewD> collectorD)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent,
                                                  org.optaplanner.core.api.function.TriFunction<A,​B,​C,​NewA> groupKeyAMapping,
                                                  org.optaplanner.core.api.function.TriFunction<A,​B,​C,​NewB> groupKeyBMapping,
                                                  org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A,​B,​C,​?,​NewC> collectorC,
                                                  org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A,​B,​C,​?,​NewD> collectorD)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent,
                                                  org.optaplanner.core.api.function.QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping,
                                                  org.optaplanner.core.api.function.QuadFunction<A,​B,​C,​D,​NewB> groupKeyBMapping,
                                                  org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,​B,​C,​D,​?,​NewC> collectorC,
                                                  org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,​B,​C,​D,​?,​NewD> collectorD)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent,
                                                  org.optaplanner.core.api.function.TriFunction<A,​B,​C,​NewA> groupKeyAMapping,
                                                  org.optaplanner.core.api.function.TriFunction<A,​B,​C,​NewB> groupKeyBMapping,
                                                  org.optaplanner.core.api.function.TriFunction<A,​B,​C,​NewC> groupKeyCMapping,
                                                  org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A,​B,​C,​?,​NewD> collectorD)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent,
                                                  org.optaplanner.core.api.function.QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping,
                                                  org.optaplanner.core.api.function.QuadFunction<A,​B,​C,​D,​NewB> groupKeyBMapping,
                                                  org.optaplanner.core.api.function.QuadFunction<A,​B,​C,​D,​NewC> groupKeyCMapping,
                                                  org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,​B,​C,​D,​?,​NewD> collectorD)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent,
                                                  org.optaplanner.core.api.function.TriFunction<A,​B,​C,​NewA> groupKeyAMapping,
                                                  org.optaplanner.core.api.function.TriFunction<A,​B,​C,​NewB> groupKeyBMapping,
                                                  org.optaplanner.core.api.function.TriFunction<A,​B,​C,​NewC> groupKeyCMapping,
                                                  org.optaplanner.core.api.function.TriFunction<A,​B,​C,​NewD> groupKeyDMapping)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent,
                                                  org.optaplanner.core.api.function.QuadFunction<A,​B,​C,​D,​NewA> groupKeyAMapping,
                                                  org.optaplanner.core.api.function.QuadFunction<A,​B,​C,​D,​NewB> groupKeyBMapping,
                                                  org.optaplanner.core.api.function.QuadFunction<A,​B,​C,​D,​NewC> groupKeyCMapping,
                                                  org.optaplanner.core.api.function.QuadFunction<A,​B,​C,​D,​NewD> groupKeyDMapping)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractUniConstraintStream<Solution_,​A> parent,
                                                  org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,​?,​NewA> collectorA,
                                                  org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,​?,​NewB> collectorB,
                                                  org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,​?,​NewC> collectorC,
                                                  org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A,​?,​NewD> collectorD)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractBiConstraintStream<Solution_,​A,​B> parent,
                                                  org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A,​B,​?,​NewA> collectorA,
                                                  org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A,​B,​?,​NewB> collectorB,
                                                  org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A,​B,​?,​NewC> collectorC,
                                                  org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A,​B,​?,​NewD> collectorD)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent,
                                                  org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A,​B,​C,​?,​NewA> collectorA,
                                                  org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A,​B,​C,​?,​NewB> collectorB,
                                                  org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A,​B,​C,​?,​NewC> collectorC,
                                                  org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A,​B,​C,​?,​NewD> collectorD)
      • DroolsGroupingQuadConstraintStream

        public DroolsGroupingQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory,
                                                  DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent,
                                                  org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,​B,​C,​D,​?,​NewA> collectorA,
                                                  org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,​B,​C,​D,​?,​NewB> collectorB,
                                                  org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,​B,​C,​D,​?,​NewC> collectorC,
                                                  org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A,​B,​C,​D,​?,​NewD> collectorD)
    • Method Detail

      • guaranteesDistinct

        public boolean guaranteesDistinct()
      • createLeftHandSide

        public QuadLeftHandSide<NewA,​NewB,​NewC,​NewD> 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<NewA,​NewB,​NewC,​NewD>>
        Returns:
        never null, different instance on every call