既存のクラスのインスタンスを作成するには、newInstance メソッドを使用します。既存のクラスがキープロパティを保持する場合、アプリケーションはそのプロパティを一意の値に設定する必要があります。インスタンスは、必要に応じてそのクラスに定義されていない別の修飾子を定義することもできます。それらの修飾子をインスタンスまたは特定のインスタンスプロパティ用に定義できますが、クラス宣言内で定義する必要はありません。
アプリケーションは、クラスに定義されている一連の修飾子を getQualifiers メソッドを使用して取得できます。
次の例では、newInstance メソッドを使用して、 CIM インスタンスを表す Java クラスを作成します (たとえば、 Solaris_Package クラスから Solaris パッケージを作成する)。
...
{
/* ローカルホストの root\cimv2 名前空間の
CIM Object Manager に接続。root\cimv2 名前空間内の
オブジェクトに対する書き込み権を持つアカウントのユーザー名とパスワードを
指定する */
UserPrincipal up = new UserPrincipal("root");
PasswordCredential pc = new PasswordCredential("root_password");
/* root パスワードを使用して、スーパーユーザーとして名前空間に
接続する */
CIMClient cc = new CIMClient(cns, up, pc);
...
// Solaris_Package クラスを取得
cimclass = cc.getClass(new CIMObjectPath("Solaris_Package"),
true, true, true, null);
/* プロパティのデフォルト値を使用して生成された Solaris_Package
クラスの新しいインスタンスを作成する。このクラスのプロバイダが
デフォルト値を指定しないと、プロパティの値は NULL 文字になるため、
明示的に設定する必要がある */
CIMInstance ci = cc.createInstance (new CIMObjectPath("Solaris_Package"),
ci);
}
...