CIM クラスを取得するには getClass メソッドを使用します。クラスを作成すると、その派生元クラスとそのクラス階層のすべての親クラスのメソッドとプロパティを継承します。getClass メソッドは、ブール値引数 localOnly を受け取ります。そして、localOnly が真である場合は、継承されたプロパティとメソッド以外のプロパティとメソッドを返し、localOnly が偽である場合は、そのクラス内のすべてのプロパティを返します。
例 4–18 のプログラムは、次のメソッドを使用してクラス定義を検出します。
CIMNameSpace – 新しいネームスペースを作成する
CIMClient – CIM Object Manager への新しいクライアント接続を作成する
CIMObjectPath – オブジェクトパス (検出するクラス名を含むオブジェクト) を作成する
getClass – CIM Object Manager からクラスを検出する
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 GetClass { public static void main(String args[]) throws CIMException { CIMClient cc = null; try { CIMNameSpace cns = new CIMNameSpace(args[0]); cc = new CIMClient(cns); CIMObjectPath cop = new CIMObjectPath(args[1]); // 指定されたクラスに対してローカルであるメソッドと // プロパティだけを返す (localOnly が true)。 cc.getClass(cop, cc.DEEP); } catch (Exception e) { System.out.println("Exception: "+e); } if(cc != null) { cc.close(); } } }