N1 Service Provisioning System 4.1 Reference Guide

The installSteps Element

The <installSteps> element is a child of the <installList> element and lists the sequence of steps to be executed in order to install this component. When an <install> step causes this component to be installed, the steps listed here are executed in order. Typically, the install steps steps of a simple component include a <deployResource> step, and the install steps of a composite component include one or more <install> steps to install referenced components.

installSteps Element attributes

Name 

Type 

Required 

Configurable 

Description 

access 

accessEnum 

No 

No 

The access mode of the install block, as described later. Default PUBLIC. 

modifier 

ModifierEnum 

No 

No 

The modifier of the install block, as described later. 

name 

entityName 

Yes 

No 

The name of the install block. The name must be unique among all install blocks in the containing <installList>.  

description 

String 

No 

No 

A description of the install block. Useful for documentation purposes. 

installSteps access Attribute

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


installSteps modifier Attribute

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

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

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

installSteps Child elements

The <installSteps> element children consist of an optional <paramList> element followed by the body, where the body consists of an optional local <varList> element followed by zero or more “shared ”, or “component install-only” steps. Note that the body is not included if the install block is declared abstract.

installSteps Inheritance and Overriding

By default, a derived component inherits all accessible install blocks of its base component.

A derived component may define additional install blocks by using names that are not among those of the install blocks inherited from the base component. A derived component may override a non-final inherited install block by redeclaring a block with the same name. Note that blocks are overridden using name alone, and may not be overloaded based on parameters. When a block is overridden, the entire content of the block must be re-declared, including the access mode, modifier, parameters and body. The body is specified if and only if the overriding block is non-abstract. The access mode may be no more restrictive than that of the base component.

The signature of the overriding block in the derived component must be compatible with that of the base component. By compatible, it is meant that any arguments that are acceptable to the base block must also be acceptable to the derived block.

A derived block is compatible with a base block if:

The following signature changes are considered compatible:

When a block is overridden, then all references to the block evaluate to the overridden value, including those in the base component.


Note –

If the derived component is declared as non-abstract, then any abstract blocks declared by the base component must be overridden by the derived component.


A block in a derived component may explicitly call into a block defined by the base component even if the derived overrides the block using the <superComponent> targeter.