# Package org.optaplanner.core.api.domain.solution

Domain annotations and support classes for a planning solution.

- Interface Summary
  Interface | Description
  --- | ---
  PlanningScore.NullScoreDefinition | Workaround for annotation limitation in `PlanningScore.scoreDefinitionClass()`.
  PlanningSolution.NullSolutionCloner | Workaround for annotation limitation in `PlanningSolution.solutionCloner()`.
  Solution<S extends Score> | Deprecated. Use `PlanningScore`, `ProblemFactCollectionProperty` and `ProblemFactProperty` instead.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  PlanningEntityCollectionProperty | Specifies that a property (or a field) on a `PlanningSolution` class is a `Collection` of planning entities.
  PlanningEntityProperty | Specifies that a property (or a field) on a `PlanningSolution` class is a planning entity.
  PlanningScore | Specifies that a property (or a field) on a `PlanningSolution` class holds the `Score` of that solution.
  PlanningSolution | Specifies that the class is a planning solution.
  ProblemFactCollectionProperty | Specifies that a property (or a field) on a `PlanningSolution` class is a `Collection` of problem facts.
  ProblemFactProperty | Specifies that a property (or a field) on a `PlanningSolution` class is a problem fact.