例 4–23 のサンプルプログラムは、deleteClass メソッドを使って、デフォルトネームスペース root\cimv2 にあるクラスを削除します。このプログラムは、4 つの必須文字列引数 (ホスト名、クラス名、ユーザー名、パスワード) を受け取ります。このプログラムを実行するユーザーは、root\cimv2 ネームスペースへの書き込みアクセス権を持つアカウントのユーザー名とパスワードを指定する必要があります。
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 com.sun.wbem.cim.CIMException;
import java.util.Enumeration;
/**
* コマンド行に指定されるクラスを削除。
* デフォルトネームスペース root\cimv2 で作業を行う。
*/
public class DeleteClass {
public static void main(String args[]) throws CIMException {
CIMClient cc = null;
if(args.length != 4) {
System.out.println("Usage:
DeleteClass host className username password");
System.exit(1);
}
try {
/**
* ネームスペースオブジェクト (cns) を作成し、ホスト名を渡す
*/
CIMNameSpace cns = new CIMNameSpace(args[0]);
/**
* CIM Object Manager に接続し、ネームスペース
* オブジェクト (cns) と、コマンド行引数から入力された
* ユーザー名とパスワードを渡す
*/
cc = new CIMClient(cns, args[2], args[3]);
/**
* クラスの名前 (args[1]) を持つオブジェクト (CIMObjectPath)
* を作成する
*/
CIMObjectPath cop = new CIMObjectPath(args[1]);
/**
* CIM オブジェクトパスで参照されるクラスを削除する
*/
cc.deleteClass(cop);
} catch (Exception e) {
System.out.println("Exception: "+e);
}
if(cc != null) {
cc.close();
}
}
}