Annotation Interface 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 ProblemChange event).

The constraints in a ConstraintProvider rely on problem facts for ConstraintFactory.forEach(Class).

Do not annotate PlanningEntity or ConstraintWeightOverrides fields as a problem fact: they are automatically available as facts for ConstraintFactory.forEach(Class).

See Also: