data#

The input model. ProjectData is the full snapshot that Project#solve, Project#analyze and Engine.schedule take. The other classes in this folder are its parts: config, calendars, tasks, links, resources and assignments. They're mutable classes with public fields and a fluent withX(value) setter per field, so you build them by chaining setters: new TaskData(Id.num(1)).withStartDate(start).withDuration(2.0). A null field means the value is absent.

This folder also holds the shared types those records use: Id, Moment, Pause and the enums TimeUnit, CalendarMode and Basis. Every record has a shallow copy(), and most records and option classes in the package implement DeepCloneable<T>, so deepClone() gives you a copy that shares no list or nested record with the original. Every type here is in the org.dhtmlx.plen package.

  • AssignmentDataA resource booked on a task at a utilization rate, optionally for a slice of the task's work
  • BasisThe bucket size, hour or day, in which resource load is measured
  • CalendarDataA named working calendar in the project data, with its ID and working time
  • CalendarModeSelects which calendars place a task's work, resource calendars or task calendars only
  • DeepCloneable<T>The interface of records that can be deep-copied with deepClone()
  • IdThe id of a task, link, resource, assignment or calendar, either a number or a string
  • LinkDataA dependency between two tasks in a project snapshot
  • MomentA naive local date-time at minute precision, used by every date field
  • PauseA gap in a task's work, measured in elapsed time from the task start
  • ProjectDataA full project snapshot - config, calendars, tasks, links, resources and assignments
  • ResourceDataA resource that assignments book - id, capacity and optional working calendar
  • SchedulingConfigProject-wide scheduling settings, such as constraints, direction, gap behavior, units and calendars
  • TaskDataOne input task, with its dates, type, constraint, calendar and leveling fields
  • TimeUnitThe unit of a task's duration or a link's lag
  • WorktimeThe working hours, working weekdays and date exceptions of a calendar