例 4–12 のプログラムは、CIM クライアントクラスの enumNameSpace メソッドを使用して、ネームスペースおよびその中に含まれるすべてのネームスペースの名前を出力します。
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 java.util.Enumeration; / ** * このプログラムは、CIMObjectPath(cop) で指定されるネームスペース、 * およびそのネームスペース内のすべてのネームスペースの * リストを取得するために CIMClient.DEEP を条件として、ネームスペース引数を取り、 * CIMClient の enumNameSpace インタフェースを呼び出す。 * 続いて、指定されたネームスペース名を * 出力する (CIMClient.SHALLOW)。 /** public class EnumNameSpace { // EnumNameSpace が、引数の文字列を取る。 public static void main (String args[ ]) { CIMClient cc = null; try { // 引数として渡されるネームスペースのネームスペースオブジェクトを作成 CIMNameSpace cns = new CIMNameSpace(args[0], ""); // 引数として渡されるネームスペース内の CIM Object Manager に接続 CIMClient cc = new CIMClient(cns); // 現在のホスト上のネームスペース名を保存するためにオブジェクトパスを作成 CIMObjectPath cop = new CIMObjectPath("",args[1]); // ネームスペースおよびその中に含まれるすべてのネームスペースを列挙 // (CIMClient.DEEP に deep が 設定される) Enumeration e = cc.enumNameSpace(cop, CIMClient.DEEP); // ネームスペースの表示を繰り返し、それぞれの名前を出力 for (; e.hasMoreElements(); System.out.println(e.nextElement())); System.out.println("++++++"); // CIMClient.SHALLOW でネームスペースの表示を繰り返し、 // それぞれの名前を出力 e = cc.enumNamesSpace(cop, CIMClient.SHALLOW); for (; e.hasMoreElements(); System.out.println(e.nextElement())); } catch (Exception e) { System.out.println("Exception: "+e); } // クライアント接続が開かれている場合、接続を閉じる。 if(cc != null) { cc.close(); } } }