DefaultEditablePlanDriver
A default (but optional) driver for EditablePlan implementations that handles commits/rollbacks, staleness checking, and anchor deletion automatically.
The EditablePlan interface requires the implementor to perform some fairly complex stateful operations, with a tangle of interdependent algorithmic guarantees. Most of those operations are standard among all implementations though, so this driver captures most of it in a reusable form. Just implement the must simpler PlanEditAdapter from this class to make a valid EditablePlan.
The implementor is still responsible for simulation and the basic context-free creation and deletion operations. See the Contracts section of the interface methods' doc comments.
Properties
Functions
Delete an activity and throw an error if any activities are anchored to it.
Delete an activity specified by directive id, and throw an error if any activities are anchored to it.
Delete an activity with a strategy to handle activities that are anchored to it.
Delete an activity specified by directive id, with a strategy to handle activities that are anchored to it.
Queries all activity directives, deserializing them as AnyDirective.
Queries activity directives, filtered by type, deserializing them as AnyDirective.
Query activity directives.
Get all external events across all derivation groups associated with this plan.
Get external events associated with this plan.
Get the latest simulation results.
A simplified version of simulate which uses the default configuration.
Simulate the current plan, including committed and uncommitted changes.
Convert a relative duration to a time instant.
Convert a time instant to a relative duration (relative to plan start).
Total extent of the plan's bounds, whether it was simulated on the full extent or not.