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);
...
}