The <uninstallSteps> element is a child of the <uninstallList> element and lists the sequence of steps to be executed in order to uninstall this component. When an <uninstall> step causes this component to be uninstalled, the steps listed here are executed in order. Typically, the uninstall steps of a simple component include an <undeployResource> step, and the uninstall steps of a component component include one or more <uninstall> steps to uninstall referenced components.
Name |
Type |
Required |
Configurable |
Description |
---|---|---|---|---|
access |
accessEnum |
No |
No |
The access mode of the uninstall block, as described below. Default PUBLIC. |
modifier |
modifierEnum |
No |
No |
The modifier of the uninstall block, as described below. |
name |
entityName |
Yes |
No |
The name of the uninstall block. The name must be unique among all uninstall blocks in the containing <uninstallList>. |
description |
String |
No |
No |
A description of the uninstall block. Useful for documentation purposes. |
The "access" attribute of the <uninstallSteps> element specifies the accessibility of the uninstall block.
If PUBLIC, access is not restricted in any way.
If PROTECTED, access is limited to derived components and entities in the same path.
If PATH, access is limited to entities in the same path.
If PRIVATE, access is limited to this component.
Only PUBLIC blocks may be direct run.
The "modifier" attribute of the <uninstallSteps> element specifies the override requirements for the uninstall block.
If ABSTRACT, the block may not include a body. The body must be specified by non-abstract derived components. Uninstall blocks may only be declared abstract if the component is also declared abstract. Abstract blocks may not be private. Non-abstract blocks must declare a body.
If FINAL, the uninstall block may not be overridden by derived components.
If unspecified, then derived components can choose whether or not to override the block.
The <uninstallSteps> element children consist of an optional <paramList> element followed by a body, which consists of an optional local <varList> element followed by an optional <dependantCleanup> block followed by zero or more “shared ” or “component uninstall-only” steps. Note that the body is not included if the uninstall block is declared abstract.
By default, a derived component inherits all accessible uninstall blocks of its base component. Semantics for overriding an uninstall block are the same as those for overriding an install block.