<componentRef> 要素の「modifier」属性は、コンポーネント参照の優先指定要件を指定します。
ABSTRACT の場合、コンポーネント参照の <component> 要素は省略されます。このため、この要素は非抽象派生コンポーネントによって指定する必要があります。 コンポーネント参照を抽象と宣言できるのは、コンポーネントも抽象と宣言されている場合だけです。 非抽象コンポーネント参照は、<component> 要素を宣言する必要があります。
FINAL の場合、コンポーネント参照は派生コンポーネントによって無効にできません。
指定しない場合、派生コンポーネントはコンポーネント参照を無効にするかどうかを選択できます。
<componentRef> 要素の「installMode」属性は、参照先コンポーネントをインストールして対象化する方法を指定します。 参照先コンポーネントが TOPLEVEL としてインストールされている場合、1 つのプランで直接インストールされたかのように、ほかの任意のコンポーネントがそのコンポーネントを使用できます。 しかし、参照先コンポーネントが NESTED としてインストールされている場合、そのインストールの範囲は参照元コンポーネントのインストール範囲に暗黙に限定され、そのサービスも参照元コンポーネントでしか利用できません。
論理的に、入れ子になった参照先コンポーネントは参照元コンポーネントが要求する細かな機能単位を定義しますが、ほかのコンポーネントに役立つことはありません。 一方、最上位の参照先コンポーネントは参照元コンポーネントが使用するサービスを定義しますが、ほかのコンポーネントもこのサービスを使用することもできます。
入れ子になった参照先コンポーネントの有効期間は、参照元コンポーネントの有効期間と暗黙に同じになります。 入れ子になった参照先コンポーネントのインストールは参照元コンポーネントのインストールの最中にしか行えず、参照元コンポーネントがアンインストールされる際に暗黙にアンインストールされます。 これに対し、最上位の参照先コンポーネントの有効期間が参照元コンポーネントの有効期間と同じになることはありません。 最上位の参照先コンポーネントは、参照元コンポーネントのインストール時に参照元コンポーネントによってインストールすることも、あるいはほかの方法であらかじめインストールしておくか、あとからインストールすることもできます。 参照元コンポーネントがアンインストールされる場合、明示的に参照元コンポーネントによってアンインストールされないかぎり最上位の参照先コンポーネントはインストールされたままとなります。 また、ほかのコンポーネントも参照先コンポーネントをアンインストールできます。