<control> 要素は <controlList> 要素の子であり、当該コンポーネントで利用できる制御ブロックを定義します。 control ブロックは、当該コンポーネントのインストールが完了したあとで実行できる一連の手順です。 たとえば、データベースアプリケーションのコンポーネントに control ブロックを含め、データベースの「起動」または「停止」を行えます。 <call> 手順は、名前で control ブロックを呼び出すことができます。この呼び出しにより、control ブロック手順が順に実行されます。
名前 |
型 |
必須 |
構成可能 |
説明 |
access |
accessEnum |
いいえ |
不可 |
制御ブロックのアクセスモード (詳細は下記)。 デフォルトは PUBLIC |
modifier |
modifierEnum |
いいえ |
不可 |
制御 ブロックの修飾子 (詳細は下記) |
name |
entityName |
はい |
不可 |
制御ブロックの名前。 これは、制御を実行するために <call> 手順から参照される |
description |
文字列 |
いいえ |
不可 |
制御ブロックの説明 |
<control> 要素の「access」属性は、制御ブロックのアクセス可能性を指定します。
PUBLIC の場合、アクセスはまったく制限されません。
PROTECTED の場合、アクセスは同じパス内の派生コンポーネントとエンティティに制限されます。
PATH の場合、アクセスは同じパス内のエンティティに制限されます。
PRIVATE の場合、アクセスは当該コンポーネントに制限されます。
直接実行できるのは PUBLIC ブロックだけです。
<control> 要素 の「modifier」属性 は、制御ブロックの優先指定要件を指定します。
ABSTRACT の場合、ブロックに本体を含めることはできません。 本体は、非抽象派生コンポーネントによって指定する必要があります。 制御ブロックを抽象と宣言できるのは、コンポーネントも抽象と宣言されている場合だけです。 抽象ブロックは専用にはできません。 非抽象ブロックの場合、本体を宣言する必要があります。
FINAL の場合、制御ブロックを派生コンポーネントによって無効にすることはできません。
指定しない場合、派生コンポーネントはブロックを無効にするかどうかを選択できます。
<control> 要素の子は、オプションの <paramList> 要素とそれに続く本体から構成されます。この本体は、オプションの local <varList> 要素と 、それに続くゼロ個以上の「共通」手順から構成されます。 制御ブロックが抽象と宣言されている場合、本体は含められません。
デフォルトでは、派生コンポーネントはそのベースコンポーネントの、アクセス可能なすべての制御ブロックを継承します。 制御ブロックを優先する意味論は、インストールブロックを優先する意味論と同じです。