[Canonical page](<https://docs.dhtmlx.com/planning-engine/java/api/resources/overview/>)
[Full documentation index](<https://docs.dhtmlx.com/planning-engine/llms.txt>)


# resources

Resource load and leveling. The types in this folder fall into three groups:

- **Overallocation**: [`ResourceOverallocation`](<https://docs.dhtmlx.com/planning-engine/java/api/resources/resource-overallocation.md>) lists, per resource, the [`OverallocationWindow`](<https://docs.dhtmlx.com/planning-engine/java/api/resources/resource-overallocation.md#overallocationwindow>) entries where booked load exceeds capacity. A schedule result reports them in [`ScheduleResult.overallocations`](<https://docs.dhtmlx.com/planning-engine/java/api/results/schedule-result.md>) when the project has assignments. After [`Project#level`](<https://docs.dhtmlx.com/planning-engine/java/api/project-level.md>), each remaining window carries a `reason`.
- **Load profile**: [`Project#loadProfile`](<https://docs.dhtmlx.com/planning-engine/java/api/project-load-profile.md>) takes [`LoadProfileOptions`](<https://docs.dhtmlx.com/planning-engine/java/api/resources/load-profile-options.md>) and returns a [`LoadProfile`](<https://docs.dhtmlx.com/planning-engine/java/api/resources/load-profile.md>) with per-bucket load and capacity for each resource. A [`ProfileQuery`](<https://docs.dhtmlx.com/planning-engine/java/api/resources/profile-query.md>) sets the range, resources, bucket size and [`ProfileTasks`](<https://docs.dhtmlx.com/planning-engine/java/api/resources/profile-tasks.md>) detail. Pass it to `new LoadProfileOptions(query)`, or to [`PreviewOptions.profile`](<https://docs.dhtmlx.com/planning-engine/java/api/project/preview-options.md>) to get a profile from [`Project#preview`](<https://docs.dhtmlx.com/planning-engine/java/api/project-preview.md>).
- **Leveling**: [`Project#level`](<https://docs.dhtmlx.com/planning-engine/java/api/project-level.md>) takes [`LevelingOptions`](<https://docs.dhtmlx.com/planning-engine/java/api/resources/leveling-options.md>), configured with `LevelingScope`, `LevelingOrder` and `LevelingStep`, and returns a [`LevelingResult`](<https://docs.dhtmlx.com/planning-engine/java/api/resources/leveling-result.md>): the leveled `ScheduleResult` and a round count. [`Project#evaluate`](<https://docs.dhtmlx.com/planning-engine/java/api/project-evaluate.md>) and [`Project#suggestAssignments`](<https://docs.dhtmlx.com/planning-engine/java/api/project-suggest-assignments.md>) also take `LevelingOptions` through the `level` field of their options.

These are mutable classes with public fields and fluent `withX(value)` setters, plus enums. Every type here is in the `org.dhtmlx.plen` package. For how load is booked and how the leveler moves tasks, see [Resource load](<https://docs.dhtmlx.com/planning-engine/java/resources-and-assignment/resource-load.md>) and [Leveling resources](<https://docs.dhtmlx.com/planning-engine/java/resources-and-assignment/leveling-resources.md>).

:::category-index
:::
