Solaris OS は、標準の 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); ... }