Solaris オペレーティング環境は、標準 CIM MOF (Managed Object Format) ファイルをコンパイルして、デフォルトの名前空間を生成します。新しい名前空間を作成する場合は、その名前空間にオブジェクトを作成する前に適切な CIM .mof ファイルを新しい名前空間にコンパイルする必要があります。たとえば、標準の CIM 要素を使用するクラスを作成する場合は、名前空間に CIM コアスキーマをコンパイルします。CIM アプリケーションスキーマを拡張するクラスを作成する場合は、名前空間に CIM アプリケーションをコンパイルします。
次の例では、2 段階の処理を実行して、既存の名前空間内に名前空間を作成します。
名前空間の作成時に、CIMNameSpace メソッドが CIM オブジェクトマネージャに渡すパラメータを含む名前空間オブジェクトを作成します。
CIMClient クラスは、CIM オブジェクトマネージャに接続して名前空間オブジェクトを渡します。CIM オブジェクトマネージャは、名前空間オブジェクトに含まれるパラメータを使用して名前空間を作成します。
{ ... /* クライアント上で名前空間オブジェクトを作成し、コマンド行 から渡されるパラメータを格納する。args[0] にはホスト名 (たとえば myhost) が、args[1] には親の名前空間 (たとえば 最上位ディレクトリ) が含まれる */ CIMNameSpace cns = new CIMNameSpace (args[0], args[1]); UserPrincipal up = new UserPrincipal("root"); PasswordCredential pc = new PasswordCredential("root_password"); /* CIM オブジェクトマネージャに接続し、3 つのパラメータを渡す。 3 つのパラメータとは、ホスト名 (args[0]) および親の名前空間名 (args[1]) を含む名前空間オブジェクト (cns)、ユーザー名文字列 (args[3])、およびパスワード文字列 (args[4]) を指す */ CIMClient cc = new CIMClient (cns, up, pc); /* CIM オブジェクトマネージャに、NULL 文字列 (ホスト名) と args[2]の子名前空間の名前 (たとえば secondlevel) を含む 別の名前空間オブジェクトを渡す */ CIMNameSpace cop = new CIMNameSpace("", args[2]); /* myhost の最上位の名前空間に args[2] として渡された名前で、 新しい名前空間を作成する /* cc.createNameSpace(cop); ... }