N1 Service Provisioning System 4.1 ユーザーガイド

アクセスモードと修飾子

アクセスモードと修飾子は、コンポーネントの属性の使用方法や使用者を制御します。 また、組み込み型コンポーネント、コンポーネント変数、手続き、およびソースデータに影響を及ぼします。

基本的には、公開、非公開、パス、保護の 4 つのアクセスモードがあります。 すべての属性に適用されるものもあれば、そうでないものもあります。 修飾子は、final と abstract の 2 種類です。


注 –

「継承」、「アクセスモードと修飾子」の 2 つの概念は、どちらも Java 言語のそれと同様に機能します。 これらの概念についての詳細は、Java における継承、アクセスモード、修飾子の解説書と、『Plan and Component Language Specification』を参照してください。


コンポーネントのアクセスモードと修飾子

コンポーネントのアクセス属性は、コンポーネントの配備方法を制御します。 「パス」と「公開」の 2 つのモードがあります。 「パス」に設定した場合、このコンポーネントは同じパス内のコンポーネントからしか参照できません。また、ユーザーがこのコンポーネントを直接インストールすることはできません。 「公開」に設定した場合、この制限はありません。 コンポーネントは、パスとは関係なく、ほかのどのコンポーネントからでも参照可能です。また、ユーザーはこのコンポーネントを直接配備することができます。 コンポーネントのデフォルトのアクセスモードは「公開」です。

コンポーネントの修飾子、abstract と final は、配備オプションを指定します。 修飾子を abstract に設定した場合、コンポーネントはインストールされず、 その他のコンポーネントの拡張の基本コンポーネントとして機能します。 abstract 子要素を宣言できるのは、abstract コンポーネントだけです。 修飾子を final に設定した場合、このコンポーネントはほかのコンポーネントによって拡張できません。 修飾子を省略した場合、コンポーネントの拡張とインストールが可能になります。

コンポーネント変数のアクセスモードと修飾子

コンポーネント変数のアクセス属性は、その変数にアクセスできるものを制御します。 アクセスモードは、公開、非公開、パス、保護の 4 つです。 アクセスモードを「公開」に設定した場合、変数へのアクセスは制限されません。 「保護」に設定した場合、変数にアクセスできるのは同じパス内の派生コンポーネントとエンティティだけです。 「パス」に設定した場合、変数にアクセスできるのは同じパス内のエンティティだけになります。 「非公開」に設定した場合、変数にアクセスできるのはその変数を含むコンポーネントだけになります。 コンポーネントのデフォルトのアクセスモードは「公開」です。

コンポーネント変数の修飾子、abstract と final は、コンポーネント変数のデフォルト値と優先指定を指定します。 修飾子を abstract に設定した場合、変数のデフォルトの属性は無視されます。この値は、非 abstract の派生コンポーネントで指定する必要があります。 変数を abstract と宣言できるのは、コンポーネントが abstract と宣言されている場合のみです。 abstract 変数は非公開にはできません。 非 abstract 変数はデフォルト値を宣言する必要があります。 修飾子を final に設定した場合、変数を派生コンポーネントで上書きすることはできません。 修飾子を省略した場合、変数を上書きするかどうかは派生コンポーネント側で選択します。

コンポーネントソースのアクセスモードと修飾子

コンポーネントソースのアクセス属性はサポートされていません。したがって、「公開」となります。

コンポーネントソースの修飾子、abstract と final は、コンポーネントソースの場所の優先指定を指定します。 修飾子を abstract に設定した場合、ソースの場所は無視されます。この値は、非 abstract の派生コンポーネントで指定する必要があります。 コンポーネントのソースの場所を abstract と宣言できるのは、コンポーネントが abstract と宣言されている場合のみです。 ソースの場所が non-abstract と宣言されている場合は、ソースの場所を指定する必要があります。 修飾子を final に設定した場合、ソースの場所を派生コンポーネントで無効にすることはできません。 修飾子を省略した場合、ソースデータの場所を上書きするかどうかは派生コンポーネント側で選択します。