例 6-5 は、クライアントアプリケーションを CIM Object Manager に接続し、次に示すインタフェースを使用してクラスのインスタンスをすべて削除します。
CIMObjectPath - 削除されるオブジェクトの CIM オブジェクトパスを含むオブジェクトを構築する
enumInstance - インスタンスおよびそのサブクラスのすべてのインスタンスを取得する
deleteInstance - 各インスタンスを削除する
import java.rmi.*; import com.sun.wbem.client.CIMClient; import com.sun.wbem.cim.CIMInstance; import com.sun.wbem.cim.CIMValue; import com.sun.wbem.cim.CIMProperty; import com.sun.wbem.cim.CIMNameSpace; import com.sun.wbem.cim.CIMObjectPath; import com.sun.wbem.cim.CIMClass; import java.util.Enumeration; public class DeleteInstances { public static void main(String args[]) throws CIMException { CIMClient cc = null; try { /* コマンド行引数を含むネームスペースオブジェクトを 構築 */ CIMNameSpace cns = new CIMNameSpace(args[0]); /* このネームスペースオブジェクトを CIM Object Manager に渡す。*/ CIMClient cc = new CIMClient(cns); /* 削除するオブジェクトの CIM オブジェクトパスを含む オブジェクトを構築 */ CIMObjectPath cop = new CIMObjectPath(args[1]); /* オブジェクトインスタンスのディープ (deep) 列挙を行う (deep は CIMClient.DEEP に設定される)。 クラスインスタンスのディープ列挙を行うと、クラスおよび そのサブクラスのすべてのインスタンスが返される。 */ Enumeration e = cc.enumInstances(cop, CIMClient.DEEP); // 各オブジェクト名を出力し、インスタンスを削除 while(e.hasMoreElements()) { CIMObjectPath op = (CIMObjectPath)e.nextElement(); System.out.println(op); cc.deleteInstance(op); } } catch (Exception e) { System.out.println("Exception: "+e); } // クライアント接続が開いている場合、接続を閉じる。 if(cc != null) { cc.close(); } } } |