N1 Service Provisioning System 4.1 Reference Guide

The control Element

The <control> element is a child of the <controlList> element and defines a control block available for this component. A control block is a sequence of steps that may be performed once this component has been installed. For example, component for a database application might include control blocks to “startup” or “shutdown” the database. A <call> step can invoke a control block by name, which causes the control block steps to be executed in order.

control Element attributes

Name 

Type 

Required 

Configurable 

Description 

access 

accessEnum 

No 

No 

The access mode of the control block, as described below. Default PUBLIC. 

modifier 

modifierEnum 

No 

No 

The modifier of the control block, as described below. 

name 

entityName 

Yes 

No 

The name of the control block. This is referenced from a <call> step to execute the control. 

description 

String 

No 

No 

The description of the control block. 

control access Attribute

The "access" attribute of the <control> element specifies the accessibility of the control 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.


Note –

Only PUBLIC blocks may be direct run.


control modifier Attribute

The "modifier" attribute of the <control> element specifies the override requirements for the control block.

If ABSTRACT, the block may not include a body. The body must be specified by non-abstract derived components. Control 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 control block may not be overridden by derived components.

If unspecified, then derived components can choose whether or not to override the block.

control Child elements

The <control> element children consist of an optional <paramList> element followed by a body, which consists of an optional local <varList> element followed by zero or more “shared” steps. Note that the body is not included if the control block is declared abstract.

control Inheritance and Overriding

By default, a derived component inherits all accessible control blocks of its base component. Semantics for overriding a control block are the same as those for overriding an install block.