クラスを削除するには、CIMClient の deleteClass メソッドを使用します。このメソッドは、クラスを削除し、CIMException をスローします。
基底クラスを削除する場合、最初に既存のサブクラスまたはインスタンスをすべて削除しておく必要があります。
このプログラム例は、deleteClass メソッドを使用して、デフォルトの名前空間 root\cimv2 にあるクラスを削除します。このプログラムは、次の 4 つの必須文字列引数を取ります。
hostname
classname
username
password
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();
}
}
}