クラスを削除するには、CIMClient の deleteClass メソッドを使用します。クラスを削除すると、 CIMException がスローされます。
基底クラスを削除する場合、最初に既存のサブクラスまたはインスタンスをすべて削除しておく必要があります。
このプログラム例は、deleteClass メソッドを使用して、デフォルトの名前空間 root\cimv2 にあるクラスを削除します。このプログラムは、4 つの必須文字列引数 (hostname、classname、username、および password) を取ります。このプログラムを実行するユーザーは、root\cimv2 名前空間への書き込み権を持つアカウントのユーザー名とパスワードを指定する必要があります。
import javax.wbem.cim.CIMClass;
import javax.wbem.cim.CIMException;
import javax.wbem.cim.CIMNameSpace;
import javax.wbem.cim.CIMObjectPath;
import javax.wbem.client.CIMClient;
import javax.wbem.client.UserPrincipal;
import javax.wbem.client.PasswordCredential;
import java.rmi.*;
import java.util.Enumeration;
/**
* コマンド行宇で指定されたクラスを削除する。
* デフォルトの名前空間 root\cimv2 で作業を行う
*/
public class DeleteClass {
public static void main(String args[]) throws CIMException {
CIMClient cc = null;
// 4 つの引数が指定されていない場合、使用法を表示して終了する
if (args.length != 4) {
System.out.println("Usage: DeleteClass host className " +
"username password");
System.exit(1);
}
try {
// args[0] にはホスト名が含まれる。指定されたホスト上の
// デフォルトの名前空間を指す CIMNameSpace (cns) を作成する
CIMNameSpace cns = new CIMNameSpace(args[0]);
// args[2] と args[3] には、ユーザー名およびパスワードが含まれる。
// ユーザー名を使用して UserPrincipal (up) を、
// パスワードを使用して PasswordCredential を作成する
UserPrincipal up = new UserPrincipal(args[2]);
PasswordCredential pc = new PasswordCredential(args[3]);
cc = new CIMClient(cns, up, pc);
// クラス名 (args[4]) を取得し、CIMObjectPath を作成する
CIMObjectPath cop = new CIMObjectPath(args[1]);
// クラスを削除する
cc.deleteClass(cop);
}
catch (Exception e) {
System.out.println("Exception: "+e);
}
if (cc != null) {
cc.close();
}
}
}