Solaris WBEM 開発ガイド

修飾子と修飾子のデータ型の処理

CIM 修飾子は、CIM クラス、インスタンス、プロパティ、メソッド、パラメータのいずれかの特性を示す要素です。修飾子の属性は、次のとおりです。

MOF 構文では、各 CIM 修飾子は、定義された CIM 修飾子データ型を 1 つ持ちます。修飾子には、その修飾子を使用可能な CIM 要素を示すスコープ属性はありません。スコープを定義できるのは、修飾子のデータ型宣言内だけです。修飾子内でスコープを変更することはできません。

次に、CIM 修飾子のデータ型を宣言する MOF 構文を示します。この文は、 key という名前のブール型の修飾子を定義します。デフォルト値は false です。この修飾子で説明できるのは、プロパティとオブジェクトへの参照だけです。DisableOverride フレーバは、このキー修飾子がそれらの値を変更できないことを意味します。

Qualifier Key : boolean = false, Scope(property, reference), 
                    Flavor(DisableOverride);

次のコード例は、CIM 修飾子の MOF 構文を示します。このサンプル MOF ファイルでは、key と説明は、プロパティ a の修飾子です。プロパティのデータ型は、プロパティ名 a を持つ整数です。

{
[key, Description("test")]
int a;
};

CIM 修飾子の取得と設定

修飾子フレーバは、修飾子の使用を制御するフラグです。フレーバは、修飾子を派生クラスおよびインスタンスに継承できるかどうかを指定する規則について説明します。派生クラスやインスタンスが修飾子の元の値をオーバーライドできるかどうかを規則で決定することもできます。


例 4–19 CIM 修飾子の設定

次のコード例は、新しいクラスの CIM 修飾子のリストをそのスーパークラス内の修飾子に設定します。

{

 try {
     cimSuperClass = cimClient.getClass(new CIMObjectPath(scName));
     Vector v = new Vector();
     for (Enumeration e = cimSuperClass.getQualifiers().elements();
                          e.hasMoreElements();) { 
         CIMQualifier qual = (CIMQualifier)
                             ((CIMQualifier)e.nextElement()).clone();
         v.addElement(qual);
     }
     cimClass.setQualifiers(v); 
 } catch (CIMException exc) {
      return;
 }
}
...