## Uses of Package
org.eclipse.datatools.sqltools.plan

Packages that use org.eclipse.datatools.sqltools.plan
org.eclipse.datatools.sqltools.editor.ui.core
org.eclipse.datatools.sqltools.plan
org.eclipse.datatools.sqltools.plan.treeplan
org.eclipse.datatools.sqltools.sqleditor.plan

Classes in org.eclipse.datatools.sqltools.plan used by org.eclipse.datatools.sqltools.editor.ui.core
IPlanService In order to support graphic execution plan when using EPV (SQL Execution Plan View), consumer must provide the plan parser and plan drawer, which are used to parse the raw plan data and draw graphic plan.

Classes in org.eclipse.datatools.sqltools.plan used by org.eclipse.datatools.sqltools.plan
EPVFacade The facade of EPV (SQL Execution Plan View).
IExecutionPlanDocument This is the model for drawing purpose.
IPlanDrawer Class that implements this interface can draw a sub-execution plan on a `Canvas`.

IPlanOption
Generally speaking, a database server may support several types of execution plan, for example, a text type and a graphic type, which renders the execution plan in text string or using graph respectively.
This interface tries to build a relationship between the type id and type name, and check which type is graphic one, such that the framework can draw the execution plan in a canvas instead of displaying it as a literal string.
Also, the consumer needs to create the preference section on "Execution Plan View Option" page to let the end user select the plan type, the framework does not implement this part.

IPlanParser Parse the execution plan from raw data to modeled data --- `IExecutionPlanDocument`, then `IPlanDrawer` will draw it on a `Canvas`. Generally speaking, the raw data of the plan is expected to be a well-formed xml string.
IPlanService In order to support graphic execution plan when using EPV (SQL Execution Plan View), consumer must provide the plan parser and plan drawer, which are used to parse the raw plan data and draw graphic plan.
PlanRequest Start point to use EPV (SQL Execution Plan View), every time when the consumer needs to display an execution plan on EPV, it must construct an instance of `PlanRequest` first.
PlanServiceRegistry Registry for "planService"
PlanSupportRunnable The base class which performs the operations to retrieve plan from database.

Classes in org.eclipse.datatools.sqltools.plan used by org.eclipse.datatools.sqltools.plan.treeplan
AbstractPlanDrawer Consumers of Execution Plan View can extend this class intead of implementing `IPlanDrawer` from scratch.
IExecutionPlanDocument This is the model for drawing purpose.
IPlanDrawer Class that implements this interface can draw a sub-execution plan on a `Canvas`.

Classes in org.eclipse.datatools.sqltools.plan used by org.eclipse.datatools.sqltools.sqleditor.plan
PlanRequest Start point to use EPV (SQL Execution Plan View), every time when the consumer needs to display an execution plan on EPV, it must construct an instance of `PlanRequest` first.
PlanSupportRunnable The base class which performs the operations to retrieve plan from database.