component <var> 要素は component <varList> 要素の子であり、component 置換変数 (名前、デフォルト値など) を宣言するために使用されます。
名前 |
型 |
必須 |
構成可能 |
説明 |
---|---|---|---|---|
access |
access Enum |
いいえ |
不可 |
変数のアクセスモード (詳細は下記)。 デフォルトは PUBLIC |
modifier |
modifier Enum |
いいえ |
不可 |
変数の修飾子 (詳細は下記) |
name |
identifier |
はい |
不可 |
置換変数の名前。 この名前は、包含する <varList> 内のほかの置換変数すべてにおいて一意でなければならない |
default |
文字列 |
はい 1 |
可能 |
置換変数のデフォルト値。これには、ほかの置換変数、対象ホスト属性、インストールされているコンポーネント変数などに対する参照を含めることができる |
1 抽象的な変数には含めることができません。
<var> 要素の「access」属性は、変数のアクセス可能性を指定します。
PUBLIC の場合、アクセスはまったく制限されません。
PROTECTED の場合、アクセスは同じパス内の派生コンポーネントとエンティティに制限されます。
PATH の場合、アクセスは同じパス内のエンティティに制限されます。
PRIVATE の場合、アクセスは当該コンポーネントに制限されます。
<var> 要素の「modifier」属性は、変数の優先指定要件を指定します。
ABSTRACT の場合、変数の default 属性は省略されます。このため、この属性は 非抽象派生コンポーネントによって指定する必要があります。 変数を抽象と宣言できるのは、コンポーネントも抽象と宣言されている場合だけです。 抽象変数は専用には設定できません。 非抽象変数は、デフォルト値を宣言する必要があります。
FINAL の場合、変数を派生コンポーネントによって無効にすることはできません。
指定しない場合、派生コンポーネントは変数を無効にするかどうかを選択できます。
デフォルトでは、派生コンポーネントはそのベースコンポーネントのすべてのアクセス可能変数 (アクセスモード、修飾子、デフォルト値など) を継承します。
派生コンポーネントは、ベースコンポーネントから継承された変数に含まれない名前を使用して別の変数を定義できます。 派生コンポーネントは、同じ名前を使用して変数を宣言し直すことにより、継承された非最終変数のデフォルト値、修飾子、アクセスモードなどを無効にできます。 変数を無効にする場合は、変数の全コンテンツ (デフォルト値、アクセスモード、修飾子など) を宣言し直す必要があります。 デフォルト値は、優先する変数が非抽象である場合にかぎって指定できます。 アクセスモードは、ベースコンポーネントよりも厳しくすることはできません。
変数を無効にすると、ベースコンポーネント内のものを含め、その変数に対するすべての参照は無効にされた値となります。
派生コンポーネントを非抽象と宣言する場合、ベースコンポーネントによって宣言された抽象変数は派生コンポーネントによって無効にする必要があります。