Class ProjectScheduler

java.lang.Object
com.codename1.scheduling.ProjectScheduler

public final class ProjectScheduler extends Object

Works out when every task of a project happens.

A forward pass gives each task the earliest dates its predecessors, its constraint and its leveling delay allow, in the project's working time. A backward pass from the project's finish gives the latest dates that delay nothing, and the difference is slack: a task with none is critical.

ProjectModel.update runs it. The whole project is scheduled every time; a pass is linear in tasks and links, and a partial one would have to prove what it may skip.

  • Method Details

    • schedule

      public static void schedule(ProjectModel model)

      Schedules model, writing dates and slack into its tasks.

      Throws
      • IllegalStateException: when the links form a loop, which ProjectModel.link and moveTask do not allow