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

## Annotation Type ProblemFactProperty

-     @Target({METHOD,FIELD})
      @Retention(RUNTIME)
      public @interface ProblemFactProperty

  Specifies that a property (or a field) on a `PlanningSolution` class is a problem fact. A problem fact must not change during solving (except through a `ProblemFactChange` event).

  The constraints in a `ConstraintProvider` rely on problem facts for `ConstraintFactory.from(Class)`. Alternatively, scoreDRL relies on problem facts too.

  Do not annotate a `planning entity` or a `planning paramerization` as a problem fact: they are automatically available as facts for `ConstraintFactory.from(Class)` or DRL.

  See Also:
    `ProblemFactCollectionProperty`