例 4–1 に、すべてのデフォルト値を使用して 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; /** * 指定されたクラスのすべてのインスタンスを返す。 * このメソッドは、引数としてホスト名 (args[0]) と * リストするクラスの名前 (args[1]) を受け取る。 */ public class WBEMsample { public static void main(String args[]) throws CIMException { CIMClient cc = null; try { /* args[0] にはネームスペースが入っている。 ここでは、指定されたホスト上のデフォルトの root\cimv2 ネームスペースを指す CIM ネームスペース (cns) を作成する。 */ CIMNameSpace cns = new CIMNameSpace(args[0]); /* CIM Object manager に接続し、ネームスペースを含む ネームスペースオブジェクトを渡す。 */ cc = new CIMClient(cns, "root", "root_password"); /* クラス名から CIMObjectPath を作成する。 */ CIMObjectPath cop = new CIMObjectPath(args[1]); /* クラスを取得する (修飾子、クラス起点、 プロパティなど)。*/ cc.getClass(cop, true, true, true, null); // このクラスに属するすべてのインスタンス名を返す。 Enumeration e = cc.enumerateInstanceNames(cop); while(e.hasMoreElements()) { CIMObjectPath op = (CIMObjectPath)e.nextElement(); System.out.println(op); } // while の終り } catch (Exception e) { System.out.println("Exception: "+e); } if(cc != null) { cc.close(); } } // main の終り } // WBEMsample の終り