Class DroolsExistsUniConstraintStream<Solution_,​A>

  • All Implemented Interfaces:
    org.optaplanner.constraint.streams.common.uni.InnerUniConstraintStream<A>, org.optaplanner.core.api.score.stream.ConstraintStream, org.optaplanner.core.api.score.stream.uni.UniConstraintStream<A>

    public final class DroolsExistsUniConstraintStream<Solution_,​A>
    extends DroolsAbstractUniConstraintStream<Solution_,​A>
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      UniLeftHandSide<A> createLeftHandSide()
      Some constructs in the Drools executable model may not be reused between different rules.
      boolean guaranteesDistinct()  
      String toString()  
      • Methods inherited from class org.optaplanner.constraint.streams.common.AbstractConstraintStream

        buildConstraintWeightExtractor, buildConstraintWeightExtractor, getRetrievalSemantics
      • Methods inherited from interface org.optaplanner.core.api.score.stream.ConstraintStream

        getConstraintFactory
      • Methods inherited from interface org.optaplanner.constraint.streams.common.uni.InnerUniConstraintStream

        distinct, getRetrievalSemantics, impact, impact, impact, impactBigDecimal, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableLong, impactLong, join, penalize, penalize, penalize, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurable, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeLong, reward, reward, reward, rewardBigDecimal, rewardConfigurable, rewardConfigurable, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardLong
      • Methods inherited from interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream

        ifExists, ifExists, ifExists, ifExists, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, impact, impact, impact, impactBigDecimal, impactBigDecimal, impactConfigurable, impactConfigurable, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableBigDecimal, impactConfigurableLong, impactConfigurableLong, impactLong, impactLong, join, join, join, join, join, join, join, join, join, join, penalize, penalize, penalize, penalizeBigDecimal, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurable, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeConfigurableLong, penalizeLong, penalizeLong, reward, reward, reward, rewardBigDecimal, rewardBigDecimal, rewardConfigurable, rewardConfigurable, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardConfigurableLong, rewardLong, rewardLong
    • Method Detail

      • guaranteesDistinct

        public boolean guaranteesDistinct()
      • createLeftHandSide

        public UniLeftHandSide<A> 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_,​UniLeftHandSide<A>>
        Returns:
        never null, different instance on every call