# Package org.optaplanner.core.api.score.stream

The `ConstraintStream` API: a way to define constraints for `Score` calculation.

- Interface Summary
  Interface | Description
  --- | ---
  Constraint | This represents a single constraint in the `ConstraintStream` API that impacts the `Score`.
  ConstraintFactory | WARNING: The ConstraintStreams/ConstraintProvider API is TECH PREVIEW.
  ConstraintProvider | WARNING: The ConstraintStreams/ConstraintProvider API is TECH PREVIEW.
  ConstraintStream | A constraint stream is a declaration on how to match `one`, `two` or more objects.

- Class Summary
  Class | Description
  --- | ---
  ConstraintCollectors | Creates an `UniConstraintCollector`, `BiConstraintCollector`, ... instance for use in `UniConstraintStream.groupBy(Function, UniConstraintCollector)`, ...
  Joiners | Creates an `BiJoiner`, `TriJoiner`, ... instance for use in `UniConstraintStream.join(Class, BiJoiner)`, ...

- Enum Summary
  Enum | Description
  --- | ---
  ConstraintStreamImplType |