Annotation Interface ProblemFactCollectionProperty


@Target({METHOD,FIELD}) @Retention(RUNTIME) public @interface ProblemFactCollectionProperty
Specifies that a property (or a field) on a PlanningSolution class is a Collection of problem facts. 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). Alternatively, scoreDRL relies on problem facts too.

Do not annotate planning entities as problem facts: they are automatically available as facts for ConstraintFactory.forEach(Class) or DRL.

See Also: