Sun WBEM 開発ガイド

例 - CIM クラスの作成

例 6-16 は、ローカルホスト上のデフォルトネームスペース (/root/cimv2) に新しい CIM クラスを作成します。このクラスは 2 つのプロパティを持ち、その 1 つはこのクラスのキープロパティです。続いて、newInstance メソッドを使用して、この新しいクラスのインスタンスを作成します。


例 6-16 CIM クラスの作成 (CIMClass)

{
/* ローカルホストの /root/cimv2 ネームスペースに接続し、 
新しいクラス myclass を作成 */
// ローカルホスト上のデフォルトネームスペースに接続
CIMClient cc = new CIMClient(); 
// 新しい CIMClass オブジェクトを構築
CIMClass cimclass = new CIMClass();
// CIM クラス名を myclass に設定
cimclass.setName("myclass"); 
// 新しい CIM プロパティオブジェクトを構築
CIMProperty cp = new CIMProperty(); 
// プロパティ名を設定
cp.setName("keyprop"); 
// プロパティのデータ型を設定
cp.setType(CIMDatatype.getpredefined(CIMDataType.STRING)); 
// 新しい CIM 修飾子オブジェクトを構築
CIMQualifier cq = new CIMQualifier(); 
// 修飾子名を設定
cq.setName("key"); 
// プロパティに新しいキー修飾子を追加
cp.addQualfiier(cq); 
/* 10 に初期化された整数プロパティを作成 */
// 新しい CIM プロパティオブジェクトを構築
CIMProperty mp = new CIMProperty(); 
// プロパティ名を myprop に設定
mp.setName("myprop"); 
// プロパティのデータ型を設定
mp.setType(CIMDatatype.getpredefined(CIMDataType.INTEGER)); 
// myprop を 10 に初期化 
mp.setValue(CIMValue.setValue(10));
 
/* myclass にこの新しいプロパティを追加した後、クラスを
作成するために CIM Object Manager を呼び出す。*/
// クラスオブジェクトにキープロパティを追加
cimclass.addProperty(cp); 
// クラスオブジェクトに整数プロパティを追加
cimclass.addProperty(mp); 
 
/* CIM Object Manager に接続し、新しいクラスを渡す。*/
cc.setClass(new CIMObjectPath(),cimclass); 
// CIM Object Manager に新しいクラスを渡す
ci = cc.newInstance(); 
// myclass に新しい CIM インスタンスを作成
// クライアント接続が開かれている場合、接続を閉じる。
		if(cc != null) {
            cc.close();
}