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