Package org.optaplanner.core.impl.score.stream.uni

## Interface InnerUniConstraintStream<A>

- All Superinterfaces:
    `ConstraintStream`, `UniConstraintStream<A>`
  All Known Implementing Classes:
    `BavetAbstractUniConstraintStream`, `BavetFilterUniConstraintStream`, `BavetFromUniConstraintStream`, `BavetGroupBridgeUniConstraintStream`, `BavetJoinBridgeUniConstraintStream`, `BavetScoringUniConstraintStream`, `DroolsAbstractUniConstraintStream`, `DroolsExistsUniConstraintStream`, `DroolsFilterUniConstraintStream`, `DroolsFromUniConstraintStream`, `DroolsGroupingUniConstraintStream`, `DroolsMappingUniConstraintStream`

      public interface InnerUniConstraintStream<A>
      extends UniConstraintStream<A>

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default UniConstraintStream<A>` | `distinct()` | Transforms the stream in such a way that all the tuples going through it are distinct.
    `boolean` | `guaranteesDistinct()` | This method will return true if the constraint stream is guaranteed to only produce distinct tuples.
    `default Constraint` | `impact​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntFunction<A> matchWeigher)` | As defined by `UniConstraintStream.impact(String, Score, ToIntFunction)`.
    `default Constraint` | `impactBigDecimal​(String constraintPackage, String constraintName, Score<?> constraintWeight, Function<A,​BigDecimal> matchWeigher)` | As defined by `UniConstraintStream.impactBigDecimal(String, Score, Function)`.
    `default Constraint` | `impactConfigurable​(String constraintPackage, String constraintName, ToIntFunction<A> matchWeigher)` | As defined by `UniConstraintStream.impactConfigurable(String, ToIntFunction)`.
    `default Constraint` | `impactConfigurableBigDecimal​(String constraintPackage, String constraintName, Function<A,​BigDecimal> matchWeigher)` | As defined by `UniConstraintStream.impactConfigurableBigDecimal(String, Function)`.
    `default Constraint` | `impactConfigurableLong​(String constraintPackage, String constraintName, ToLongFunction<A> matchWeigher)` | As defined by `UniConstraintStream.impactConfigurableLong(String, ToLongFunction)`.
    `default Constraint` | `impactLong​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToLongFunction<A> matchWeigher)` | As defined by `UniConstraintStream.impactLong(String, Score, ToLongFunction)`.
    `Constraint` | `impactScore​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntFunction<A> matchWeigher, ScoreImpactType impactType)` |
    `Constraint` | `impactScoreBigDecimal​(String constraintPackage, String constraintName, Score<?> constraintWeight, Function<A,​BigDecimal> matchWeigher, ScoreImpactType impactType)` |
    `Constraint` | `impactScoreConfigurable​(String constraintPackage, String constraintName, ToIntFunction<A> matchWeigher, ScoreImpactType impactType)` |
    `Constraint` | `impactScoreConfigurableBigDecimal​(String constraintPackage, String constraintName, Function<A,​BigDecimal> matchWeigher, ScoreImpactType impactType)` |
    `Constraint` | `impactScoreConfigurableLong​(String constraintPackage, String constraintName, ToLongFunction<A> matchWeigher, ScoreImpactType impactType)` |
    `Constraint` | `impactScoreLong​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToLongFunction<A> matchWeigher, ScoreImpactType impactType)` |
    `default Constraint` | `penalize​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntFunction<A> matchWeigher)` | As defined by `UniConstraintStream.penalize(String, Score, ToIntFunction)`.
    `default Constraint` | `penalizeBigDecimal​(String constraintPackage, String constraintName, Score<?> constraintWeight, Function<A,​BigDecimal> matchWeigher)` | As defined by `UniConstraintStream.penalizeBigDecimal(String, Score, Function)`.
    `default Constraint` | `penalizeConfigurable​(String constraintPackage, String constraintName, ToIntFunction<A> matchWeigher)` | As defined by `UniConstraintStream.penalizeConfigurable(String, ToIntFunction)`.
    `default Constraint` | `penalizeConfigurableBigDecimal​(String constraintPackage, String constraintName, Function<A,​BigDecimal> matchWeigher)` | As defined by `UniConstraintStream.penalizeConfigurableBigDecimal(String, Function)`.
    `default Constraint` | `penalizeConfigurableLong​(String constraintPackage, String constraintName, ToLongFunction<A> matchWeigher)` | As defined by `UniConstraintStream.penalizeConfigurableLong(String, ToLongFunction)`.
    `default Constraint` | `penalizeLong​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToLongFunction<A> matchWeigher)` | As defined by `UniConstraintStream.penalizeLong(String, Score, ToLongFunction)`.
    `default Constraint` | `reward​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntFunction<A> matchWeigher)` | As defined by `UniConstraintStream.reward(String, Score, ToIntFunction)`.
    `default Constraint` | `rewardBigDecimal​(String constraintPackage, String constraintName, Score<?> constraintWeight, Function<A,​BigDecimal> matchWeigher)` | As defined by `UniConstraintStream.rewardBigDecimal(String, Score, Function)`.
    `default Constraint` | `rewardConfigurable​(String constraintPackage, String constraintName, ToIntFunction<A> matchWeigher)` | As defined by `UniConstraintStream.rewardConfigurable(String, ToIntFunction)`.
    `default Constraint` | `rewardConfigurableBigDecimal​(String constraintPackage, String constraintName, Function<A,​BigDecimal> matchWeigher)` | As defined by `UniConstraintStream.rewardConfigurableBigDecimal(String, Function)`.
    `default Constraint` | `rewardConfigurableLong​(String constraintPackage, String constraintName, ToLongFunction<A> matchWeigher)` | As defined by `UniConstraintStream.rewardConfigurableLong(String, ToLongFunction)`.
    `default Constraint` | `rewardLong​(String constraintPackage, String constraintName, Score<?> constraintWeight, ToLongFunction<A> matchWeigher)` | As defined by `UniConstraintStream.rewardLong(String, Score, ToLongFunction)`.

    - ### Methods inherited from interface org.optaplanner.core.api.score.stream.ConstraintStream

      `getConstraintFactory, impact, impact, penalize, penalize, penalizeConfigurable, penalizeConfigurable, reward, reward, rewardConfigurable, rewardConfigurable`

    - ### Methods inherited from interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream

      `filter, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, ifExists, ifExists, ifExists, ifExists, ifExists, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOther, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, impact, impactBigDecimal, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableLong, impactLong, join, join, join, join, join, join, join, join, join, join, join, join, map, penalize, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeLong, reward, rewardBigDecimal, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardLong`

- - ### Method Detail

    - #### guaranteesDistinct

          boolean guaranteesDistinct()

      This method will return true if the constraint stream is guaranteed to only produce distinct tuples. See `distinct()` for details.
      Returns:
        true if the guarantee of distinct tuples is provided

    - #### distinct

          default UniConstraintStream<A> distinct()

      Description copied from interface: `UniConstraintStream`
      Transforms the stream in such a way that all the tuples going through it are distinct. (No two tuples will `equal`.)

      By default, tuples going through a constraint stream are distinct. However, operations such as `UniConstraintStream.map(Function)` may create a stream which breaks that promise. By calling this method on such a stream, duplicate copies of the same tuple will be omitted at a performance cost.

      Specified by:
        `distinct` in interface `UniConstraintStream<A>`
      Returns:
        never null

    - #### penalize

          default Constraint penalize​(String constraintPackage,
                                      String constraintName,
                                      Score<?> constraintWeight,
                                      ToIntFunction<A> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.penalize(String, Score, ToIntFunction)`.
      Specified by:
        `penalize` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `constraintWeight` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### penalizeLong

          default Constraint penalizeLong​(String constraintPackage,
                                          String constraintName,
                                          Score<?> constraintWeight,
                                          ToLongFunction<A> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.penalizeLong(String, Score, ToLongFunction)`.
      Specified by:
        `penalizeLong` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `constraintWeight` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### penalizeBigDecimal

          default Constraint penalizeBigDecimal​(String constraintPackage,
                                                String constraintName,
                                                Score<?> constraintWeight,
                                                Function<A,​BigDecimal> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.penalizeBigDecimal(String, Score, Function)`.
      Specified by:
        `penalizeBigDecimal` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `constraintWeight` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### penalizeConfigurable

          default Constraint penalizeConfigurable​(String constraintPackage,
                                                  String constraintName,
                                                  ToIntFunction<A> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.penalizeConfigurable(String, ToIntFunction)`.
      Specified by:
        `penalizeConfigurable` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### penalizeConfigurableLong

          default Constraint penalizeConfigurableLong​(String constraintPackage,
                                                      String constraintName,
                                                      ToLongFunction<A> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.penalizeConfigurableLong(String, ToLongFunction)`.
      Specified by:
        `penalizeConfigurableLong` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### penalizeConfigurableBigDecimal

          default Constraint penalizeConfigurableBigDecimal​(String constraintPackage,
                                                            String constraintName,
                                                            Function<A,​BigDecimal> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.penalizeConfigurableBigDecimal(String, Function)`.
      Specified by:
        `penalizeConfigurableBigDecimal` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### reward

          default Constraint reward​(String constraintPackage,
                                    String constraintName,
                                    Score<?> constraintWeight,
                                    ToIntFunction<A> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.reward(String, Score, ToIntFunction)`.
      Specified by:
        `reward` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `constraintWeight` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### rewardLong

          default Constraint rewardLong​(String constraintPackage,
                                        String constraintName,
                                        Score<?> constraintWeight,
                                        ToLongFunction<A> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.rewardLong(String, Score, ToLongFunction)`.
      Specified by:
        `rewardLong` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `constraintWeight` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### rewardBigDecimal

          default Constraint rewardBigDecimal​(String constraintPackage,
                                              String constraintName,
                                              Score<?> constraintWeight,
                                              Function<A,​BigDecimal> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.rewardBigDecimal(String, Score, Function)`.
      Specified by:
        `rewardBigDecimal` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `constraintWeight` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### rewardConfigurable

          default Constraint rewardConfigurable​(String constraintPackage,
                                                String constraintName,
                                                ToIntFunction<A> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.rewardConfigurable(String, ToIntFunction)`.
      Specified by:
        `rewardConfigurable` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### rewardConfigurableLong

          default Constraint rewardConfigurableLong​(String constraintPackage,
                                                    String constraintName,
                                                    ToLongFunction<A> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.rewardConfigurableLong(String, ToLongFunction)`.
      Specified by:
        `rewardConfigurableLong` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### rewardConfigurableBigDecimal

          default Constraint rewardConfigurableBigDecimal​(String constraintPackage,
                                                          String constraintName,
                                                          Function<A,​BigDecimal> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.rewardConfigurableBigDecimal(String, Function)`.
      Specified by:
        `rewardConfigurableBigDecimal` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### impact

          default Constraint impact​(String constraintPackage,
                                    String constraintName,
                                    Score<?> constraintWeight,
                                    ToIntFunction<A> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.impact(String, Score, ToIntFunction)`.
      Specified by:
        `impact` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `constraintWeight` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### impactLong

          default Constraint impactLong​(String constraintPackage,
                                        String constraintName,
                                        Score<?> constraintWeight,
                                        ToLongFunction<A> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.impactLong(String, Score, ToLongFunction)`.
      Specified by:
        `impactLong` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `constraintWeight` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### impactBigDecimal

          default Constraint impactBigDecimal​(String constraintPackage,
                                              String constraintName,
                                              Score<?> constraintWeight,
                                              Function<A,​BigDecimal> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.impactBigDecimal(String, Score, Function)`.
      Specified by:
        `impactBigDecimal` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `constraintWeight` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### impactConfigurable

          default Constraint impactConfigurable​(String constraintPackage,
                                                String constraintName,
                                                ToIntFunction<A> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.impactConfigurable(String, ToIntFunction)`.
      Specified by:
        `impactConfigurable` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### impactConfigurableLong

          default Constraint impactConfigurableLong​(String constraintPackage,
                                                    String constraintName,
                                                    ToLongFunction<A> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.impactConfigurableLong(String, ToLongFunction)`.
      Specified by:
        `impactConfigurableLong` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### impactConfigurableBigDecimal

          default Constraint impactConfigurableBigDecimal​(String constraintPackage,
                                                          String constraintName,
                                                          Function<A,​BigDecimal> matchWeigher)

      Description copied from interface: `UniConstraintStream`
      As defined by `UniConstraintStream.impactConfigurableBigDecimal(String, Function)`.
      Specified by:
        `impactConfigurableBigDecimal` in interface `UniConstraintStream<A>`
      Parameters:
        `constraintPackage` - never null
        `constraintName` - never null
        `matchWeigher` - never null
      Returns:
        never null

    - #### impactScore

          Constraint impactScore​(String constraintPackage,
                                 String constraintName,
                                 Score<?> constraintWeight,
                                 ToIntFunction<A> matchWeigher,
                                 ScoreImpactType impactType)

    - #### impactScoreLong

          Constraint impactScoreLong​(String constraintPackage,
                                     String constraintName,
                                     Score<?> constraintWeight,
                                     ToLongFunction<A> matchWeigher,
                                     ScoreImpactType impactType)

    - #### impactScoreBigDecimal

          Constraint impactScoreBigDecimal​(String constraintPackage,
                                           String constraintName,
                                           Score<?> constraintWeight,
                                           Function<A,​BigDecimal> matchWeigher,
                                           ScoreImpactType impactType)

    - #### impactScoreConfigurable

          Constraint impactScoreConfigurable​(String constraintPackage,
                                             String constraintName,
                                             ToIntFunction<A> matchWeigher,
                                             ScoreImpactType impactType)

    - #### impactScoreConfigurableLong

          Constraint impactScoreConfigurableLong​(String constraintPackage,
                                                 String constraintName,
                                                 ToLongFunction<A> matchWeigher,
                                                 ScoreImpactType impactType)

    - #### impactScoreConfigurableBigDecimal

          Constraint impactScoreConfigurableBigDecimal​(String constraintPackage,
                                                       String constraintName,
                                                       Function<A,​BigDecimal> matchWeigher,
                                                       ScoreImpactType impactType)