CIMClient クラスの次のメソッドは、クライアントとインスタンス間の関連 (関係) に関する情報を返します。
表 4–7 CIMClient の関連メソッド
メソッド |
説明 |
---|---|
associators |
指定された CIM クラスやインスタンスに関連付けられている CIM クラスやインスタンスを取得する。 |
associatorNames |
指定された CIM クラスやインスタンスに関連付けられている CIM クラスやインスタンスの名前を取得する。 |
references |
指定された CIM クラスやインスタンスを参照する関連を取得する |
referenceNames |
指定された CIM クラスやインスタンスを参照する関連の名前を取得する。 |
関連メソッドは、唯一の必須引数として CIMObjectPath を受け取ります。この引数は、検索したい関連や、関連付けされたクラスまたはインスタンスを持つソースの CIM クラスまたは CIM インスタンスの名前です。CIM Object Manager は、関連、関連付けされたクラス、またはインスタンスを見つけることができないと、何も返しません。
関連メソッドは、CIMObjectpath がクラスである場合は、関連付けされたクラスとそのクラスのサブクラスを返し、CIMObjectpath がインスタンスである場合は、関連付けされたインスタンスと各インスタンスの派生元クラスを返します。
インスタンスやクラスの名前を指定するには、そのモデルパスを指定する必要があります。クラスのモデルパスには、ネームスペースとクラスの名前が含まれています。インスタンスのモデルパスは、特定の管理リソースを固有に識別します。インスタンスのモデルパスには、ネームスペース名と、クラス名、キーが含まれています。キーは、管理リソースを固有に識別するために使用されるプロパティまたは一連のプロパティです。キープロパティは、キー修飾子で識別します。
モデルパス \\myserver\\Root\cimv2\Solaris_ComputerSystem.Name=mycomputer: CreationClassName=Solaris_ComputerSystem は、3 つの部分から構成されています。
\\myserver\Root\cimv2 – ホスト myserver 上のデフォルト CIM ネームスペース
Solaris_ComputerSystem – このインスタンスの派生元クラスの名前
Name=mycomputer, CreationClassName=Solaris_ComputerSystem – 「キープロパティ = 値」の形式による 2 つのキープロパティ
実際の使用では通常、あるクラスのすべてのインスタンスを enumInstances メソッドを使って列挙し、ループ構造で各インスタンスを処理します。ループでは、各インスタンスを関連メソッドに渡すことができます。次のコード例では、次のことを行なっています。
現在のクラス (op) とそのクラスのサブクラス内のすべてのインスタンスを列挙する。
while ループを使って、個々のインスタンスを CIMObjectPath (op) にキャストする。
各インスタンスを、associators メソッドへの最初の引数として渡す。
{ ... Enumeration e = cc.enumInstances(op, true); while (e.hasMoreElements()) { op = (CIMObjectPath)e.nextElement(); Enumeration e1 = cc.associators(op, null, null, null, null, false, false, null); ... }
関連メソッドは、返されるクラスやインスタンスをフィルタリングする次のオプション引数も受け取ります。すべての引数が処理されるまで、オプションの各パラメータ値は、その結果をフィルタリング処理のために次に続くパラメータに渡します。
1 つのオプション引数の値、またはオプション引数を組み合わせたものの値を渡すことができます。各パラメータには値を指定する必要があります。返されるクラスやインスタンスをフィルタリングする引数には、assocClass、 resultClass、 role、 resultRole があります。これらの引数を使用すると、これらのパラメータに指定された値と一致するクラスやインスタンスだけが返されます。返されるクラスやインスタンスに含まれている情報をフィルタリングする引数には、includeQualifiers、includeClassOrigin、propertyList があります。
次の表に、関連メソッドへのオプション引数を示します。
表 4–8 関連メソッドへのオプション引数
引数 |
型 |
説明 |
値 |
---|---|---|---|
assocClass |
String |
ソースの CIM クラスまたはインスタンスとこのタイプで関連付けられているターゲットオブジェクトを返す。Null の場合は、返すオブジェクトを関連でフィルタリングしない。 |
有効な CIM 関連クラス名または Null |
resultClass |
String |
resultClass またはそのいずれかのサブクラスのインスタンスであるターゲットオブジェクト、または resultClass かそのいずれかのサブクラスと一致するオブジェクトを返す。 |
CIM クラスの有効な名前または Null |
role |
String |
この関連でソースの CIM クラスまたはインスタンスが担っている役割を指定する。ソースオブジェクトがこの役割を担っている関連のターゲットオブジェクトを返す。 |
有効なプロパティ名または Null |
resultRole |
String |
指定された役割をこの関連で担っているターゲットオブジェクトを返す。 |
有効なプロパティ名または Null |
includeQualifiers |
Boolean |
true の場合、各ターゲットオブジェクトのすべての修飾子 (このオブジェクトと返されるプロパティのすべての修飾子) を返す。false の場合、修飾子を返さない。 |
True または False |
includeClassOrigin |
Boolean |
true の場合、返される各オブジェクトのすべての適切な要素に CLASSORIGIN 属性を含める。false の場合、CLASSORIGIN 属性を含めない。 |
True または False |
propertyList |
String array |
このリストに指定されたプロパティの要素だけを含むオブジェクトを返す。空配列の場合は、返される各オブジェクトにプロパティは含まれない。NULL の場合は、返す各オブジェクトにすべてのプロパティが含まれる。無効なプロパティ名は無視する。 プロパティリストを指定する場合は、resultClass に Null 以外の値を指定する必要がある。 |
有効なプロパティ名の配列、空の配列、または Null |