Interface Solution<S extends Score>

  • Type Parameters:
    S - the Score type used by this use case

    @Deprecated
    public interface Solution<S extends Score>
    Deprecated.
    Use PlanningScore, ProblemFactCollectionProperty and ProblemFactProperty instead. Will be removed in 8.0.
    Retained for backwards compatibility with 6.x. This interface will be removed in 8.0.

    A solution represents a problem and a possible solution of that problem. A possible solution does not need to be optimal or even feasible. A Solution's variables do not even have to be initialized.

    A Solution is mutable. For scalability reasons, the same Solution instance, called the working solution, is continuously modified. It's cloned to recall the best solution.

    This annotation described declarative properties of the planning solution. The planning solution class must implement this interface which is needed to get/set state. But the planning solution class must also be annotated with PlanningSolution describes declarative properties.

    • Method Detail

      • getScore

        S getScore()
        Deprecated.
        Returns the Score of this Solution.
        Returns:
        null if the Solution is uninitialized or the last calculated Score is dirty the new Score has not yet been recalculated
      • setScore

        void setScore​(S score)
        Deprecated.
        Called by the Solver when the Score of this Solution has been calculated.
        Parameters:
        score - sometimes null
      • getProblemFacts

        Collection<? extends Object> getProblemFacts()
        Deprecated.
        Called by the DroolsScoreDirector when the PlanningSolution needs to be inserted into an empty KieSession. These facts can be used by the constraints. They don't change during planning (except through ProblemFactChange events).

        Do not include the planning entities as problem facts: they are automatically inserted into the KieSession.

        Returns:
        never null (although an empty collection is allowed), all the facts of this solution except for the planning entities