Class LevelingResult

java.lang.Object
com.codename1.scheduling.LevelingResult

public final class LevelingResult extends Object

What ResourceLeveler.level proposes: a delay for some tasks, and what the project would look like with them.

Nothing has changed in the project until apply is called, so the proposal can be shown and turned down.

  • Method Details

    • getChangedTasks

      public List<GanttTask> getChangedTasks()
      The tasks whose delay the proposal changes.
    • isChanged

      public boolean isChanged()
      Whether applying the proposal would change anything.
    • getDelay

      public long getDelay(GanttTask task)
      The leveling delay the proposal gives a task, in working milliseconds.
    • getUnresolved

      public List<ResourceOverallocation> getUnresolved()
      What could not be solved by delaying: a task that alone needs more of a resource than exists, or tasks that may not be moved.
    • getFinishBefore

      public long getFinishBefore()
      The project's finish as it is now.
    • getFinishAfter

      public long getFinishAfter()
      The project's finish with the proposal applied.
    • apply

      public void apply()

      Writes the delays into the project and schedules it.

      The proposal describes the project as it was when it was made. If tasks were added, removed or changed since, the delays are still written for the tasks that remain and every other task gets none, but getFinishAfter and getUnresolved no longer say what comes out: level again to know.