Solaris WBEM 開発ガイド

プロパティの取得と設定

CIM プロパティは、CIM クラスの特性を記述する値です。プロパティは、1 組の関数と見なすことができます。一方の関数はプロパティ値を「取得」し、もう一方の関数はプロパティ値を「設定」します。


例 4–8 プロパティの取得

次の例は、enumerateInstanceNames を使って Solaris プラットフォームプロセッサのすべてのインスタンスの名前を返します。この例は、getProperty を使って各インスタンスの現在のクロック速度の値を取得し、println を使ってこの値を出力します。

...
{
/* オブジェクト (CIMObjectPath) を作成して、
Solaris_Processor クラスの名前を格納する */ 
 
CIMObjectPath cop = new CIMObjectPath("Solaris_Processor"); 
 
/* CIM オブジェクトマネージャは、Solaris_Processor クラスの
インスタンス名を含む列挙を返す */
 
Enumeration e = cc.enumerateInstanceNames(cop); 
 
/* インスタンスオブジェクトパスの列挙を繰り返し処理する。
getProperty メソッドを使用して、Solaris プロセッサごとの
現在のクロック速度の値を取得する */
 
while(e.hasMoreElements()) {
    CIMValue cv = cc.getProperty(e.nextElement(CIMObjectPath), 
                                         "CurrentClockSpeed");
    System.out.println(cv);
}
...
}
 


例 4–9 プロパティの設定

次の例では、すべての Solaris_UserTemplate インスタンスの初期シェル値を設定します。このコードセグメントは、enumerateInstanceNames を使って Solaris_UserTemplate のすべてのインスタンスの名前を取得します。また、setProperty を使って各インスタンスの初期シェルの値を設定します。

...
{
    /* オブジェクト (CIMObjectPath) を作成して 
    Solaris_Processor クラスの名前を格納する */ 
 
    CIMObjectPath cop = new CIMObjectPath("Solaris_UserTemplate"); 
 
    /* CIM オブジェクトマネージャは、 Solaris_UserTemplate クラスおよび
   そのサブクラスすべてのインスタンス名を含む列挙を返す */
 
    Enumeration e = cc.enumerateInstanceNames(cop); 
 
    /* インスタンスオブジェクトパスの列挙を繰り返し処理する。
    setProperty メソッドを使用して、初期シェル値を Solaris_UserTemplate 
    のインスタンスごとに /usr/bin/sh に設定する */
 
    for (; e.hasMoreElements(); cc.setProperty(e.nextElement(), 
         "/usr/bin/sh", new CIMValue(new Integer(500))));
}