TypeUtilsEditablePlanAdapter
An EditablePlan implementation for the type-utils Plan class. Allows for local simulation and plan editing, such as for custom scheduler drivers, constraint checkers, or other workflows that don't use the Aerie database. To use, create a SimulationUtility and use that to load the mission model. Then create a Plan object; you can create one with the constructor or by using gov.nasa.jpl.aerie.orchestration.PlanJsonParser to load a plan from file. Then you can create an editable plan object like this: ``` editablePlan = new DefaultEditablePlanDriver( new TypeUtilsEditablePlanAdapter( new TypeUtilsPlanAdapter(myPlan), simUtility, model ) ); ``` You can then edit and simulate the plan using the EditablePlan interface. You can pass it to a scheduling goal, a constraint, or anything else that needs the plan and sim results. The official constraint interface takes an immutable plan and sim results separately, so you can call a constraint like this: `new MyConstraint(...).run(plan, plan.simulate())`. (The EditablePlan will be upcast to the immutable gov.nasa.ammos.aerie.procedural.timeline.plan.Plan interface.
Constructors
Functions
Queries activity directives, filtered by type, deserializing them as AnyDirective.
Optional validation hook for new activities.