Client API. The Codename One framework your app is built on: this runs on the device, not in a backend.
package com.codename1.scheduling
Schedules and projects as data: what a Scheduler or a Gantt shows,
and the engine that works out a project’s dates.
Nothing here draws. The components are in com.codename1.ui.scheduler,
and everything in this package runs without one, on a server too.
ScheduleModelis items in time, optionally perScheduleResource.DefaultScheduleModelkeeps them in memory, andCalendarScheduleModelreads and writes acom.codename1.calendar.CalendarSource.ProjectModelis a tree ofGanttTaskwithTaskDependencylinks.ProjectSchedulergives every task its dates and its slack, in the working time aWorkCalendardescribes, and marks the critical path.ResourceLevelerfinds resources that are overbooked and proposes delays that resolve it.
Every instant is epoch milliseconds, and every duration is milliseconds of working time. The classes are not thread safe: use a model from one thread, which for a model shown by a component is the EDT.
Types
class AbstractScheduleModel | The listener list and the refusals every read-only model shares. |
class CalendarScheduleModel | A schedule read from a CalendarSource: the device’s calendars, CalDAV, Google or Microsoft. |
class DefaultScheduleModel | A schedule held in memory, which accepts every edit. |
class GanttTask | A task in a project: a piece of work, a milestone, or a summary of the tasks under it. |
class LevelingResult | What ResourceLeveler.level proposes: a delay for some tasks, and what the project would look like with them. |
interface ProjectChangeListener | Told when a ProjectModel changes: a task, a link, or the dates a scheduling pass produced. |
class ProjectModel | A project: a tree of tasks, the links between them, the resources they use and the calendar their durations are measured in. |
class ProjectScheduler | Works out when every task of a project happens. |
class ResourceAssignment | How much of a resource a task uses while it runs. |
class ResourceLeveler | Finds where a project asks more of a resource than there is, and proposes delays that take the excess away. |
class ResourceOverallocation | A stretch of time in which the tasks assigned to a resource need more of it than there is. |
interface ScheduleChangeListener | Told when the items or resources of a ScheduleModel change. |
class ScheduleItem | One thing on a schedule: an appointment, a shift, a block of busy time. |
interface ScheduleModel | What a Scheduler shows and edits. |
class ScheduleResource | Something work is booked against: a person, a room, a machine, a calendar. |
class TaskDependency | A link between two tasks: the successor waits for the predecessor. |
class TimeMath | Calendar arithmetic on epoch milliseconds in a time zone. |
class WorkCalendar | The hours work happens in: a weekly pattern, and the days that differ from it. |