Sun WBEM 開発ガイド

例 - インスタンスの削除

例 6-5 は、クライアントアプリケーションを CIM Object Manager に接続し、次に示すインタフェースを使用してクラスのインスタンスをすべて削除します。


例 6-5 インスタンスの削除 (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();
    	}
		}
}