CIM クラスを取得するには getClass メソッドを使用します。クラスが作成されると、そのクラスは、クラス階層内のすべての親クラスのメソッドとプロパティを継承します。getClass メソッドは、ブール値引数 localOnly を受け取ります。
localOnly が true の場合、getClass は継承されていないプロパティおよびメソッドを返す
localOnly が false の場合、 getClass はクラス内のすべてのプロパティを返す
このプログラム例は、次のメソッドを使用してクラス定義を取得します。
CIMNameSpace – 新しい名前空間を作成する
CIMClient – CIM オブジェクトマネージャへの新しいクライアント接続を作成する
CIMObjectPath – オブジェクトパス (取得するクラス名を含むオブジェクト) を作成する
getClass – CIM オブジェクトマネージャからクラスを取得する
import java.rmi.*;
import javax.wbem.client.CIMClient;
import javax.wbem.cim.CIMInstance;
import javax.wbem.cim.CIMValue;
import javax.wbem.cim.CIMProperty;
import javax.wbem.cim.CIMNameSpace;
import javax.wbem.cim.CIMObjectPath;
import javax.wbem.cim.CIMClass;
import javax.wbem.cim.CIMException;
import java.util.Enumeration;
/**
* コマンド行で指定されたクラスを取得する。作業を
* デフォルトの名前空間 root\cimv2 で行う
*/
public class GetClass {
public static void main(String args[]) throws CIMException {
CIMClient cc = null;
try {
CIMNameSpace cns = new CIMNameSpace(args[0]);
UserPrincipal up = new UserPrincipal("root");
PasswordCredential pc = new PasswordCredential("root_password");
cc = new CIMClient(cns);
CIMObjectPath cop = new CIMObjectPath(args[1]);
// 指定されたクラスに対してローカルなメソッド
// とプロパティのみを返す (localOnly はtrue)
cc.getClass(cop, true);
} catch (Exception e) {
System.out.println("Exception: "+e);
}
if(cc != null) {
cc.close();
}
}
}