Client API. The Codename One framework your app is built on: this runs on the device, not in a backend.

public final class ProjectScheduler

  1. Object
  2. ProjectScheduler

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.

Methods

public static void schedule(ProjectModel model)Schedules model, writing dates and slack into its tasks.

Inherited methods

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