CIMClient 内の関連メソッドは、クライアントとインスタンス間の関連 (関係) に関する情報を返します。次の表では、これらのメソッドについて説明します。
表 4–2 関連メソッド
ソート方法 |
説明 |
---|---|
associators |
指定された CIM クラスやインスタンスに関連付けられている CIM クラスやインスタンスを取得する |
associatorNames |
指定された CIM クラスやインスタンスに関連付けられている CIM クラスやインスタンスの名前を取得する |
references |
指定された CIM クラスやインスタンスを参照する関連クラスやインスタンスを取得する |
referenceNames |
指定された CIM クラスやインスタンスを参照する関連クラスやインスタンスの名前を取得する |
これらのメソッドは、単一の必須引数 CIMObjectPath を取ります。CIMObjectPath は、検索する関連、関連付けられたクラス、またはインスタンスを持つソースの CIM クラスまたは CIM インスタンスの名前です。CIMOM は、関連、関連付けられたクラス、またはインスタンスを検出できない場合、何も返しません。
CIMObjectpath がクラスの場合、このメソッドは関連付けられたクラスとそのクラスのサブクラスを返します。
CIMObjectpath がインスタンスの場合、このメソッドは関連付けされたクラスとそのサブクラスのインスタンスを返します。
前出の図の associators および associatorNames メソッドは、Teacher および Student クラスに関連付けられたクラスの情報を返します。references および referenceNames メソッドは、Teacher および Student クラス間の関連に関する情報を返します。
表 4–3 TeacherStudent メソッド
例 |
出力 |
説明 |
---|---|---|
associators(Teacher, null, null, null, null, false, false, null) |
Student クラス |
関連付けられているクラスを返す。Student は、TeacherStudent 関連によって Teacher とリンクされている |
associators(MathTeacher, null, null, null, null,,false, false, null) |
Student |
関連付けられているクラスを返す。Teacher は、TeacherStudent 関連によって Student とリンクされている。MathTeacher と ArtTeacher は、Teacher から TeacherStudent 関連を継承する |
associatorNames(Teacher, null, null, null, null) |
Student クラスの名前 |
関連付けられているクラスの名前を返す。Student は、TeacherStudent 関連によって Teacher とリンクされている |
references(Student , null, null. false, false, null) |
TeacherStudent |
Student が関与している関連を返す |
references(Teacher , null, null. false, false, null) |
TeacherStudent |
Teacher が関与している関連を返す |
references(Teacher , null, null, false, false, null) |
TeacherStudent |
Teacher が関与している関連を返す |
referenceNames(Teacher , null, null) |
TeacherStudent クラスの名前 |
Teacher が関与している関連の名前を返す |
referenceNames(Teacher , null, null) |
TeacherStudent クラスの名前 |
Teacher が関与している関連の名前を返す |
associatorNames および referenceNames メソッドは、引数 includeQualifiers、includeClassOrigin および propertyList を取りません。これらの引数は、インスタンスまたはクラスの名前だけを返し、その内容を返さないメソッドには不必要です。
クラス名を指定する場合、そのモデルパスを指定します。モデルパスには、クラスの名前空間、クラス名、およびキーが含まれます。キーは、管理リソースを一意に識別するプロパティまたはプロパティのセットです。キープロパティは、key 修飾子によって示されます。次に、サンプルモデルパスを示します。
\\myserver\\root\cimv2\Solaris_ComputerSystem.Name= mycomputer: CreationClassName=Solaris_ComputerSystem
このモデルパスは、次の値を指定します。
\\myserver\root\cimv2 – ホスト myserver 上のデフォルトの CIM 名前空間
Solaris_ComputerSystem – インスタンスの派生元クラスの名前
Name=mycomputer、CreationClassName=Solaris_ComputerSystem – 2 つのキープロパティ (key property=value 形式)
enumerateInstances メソッドを使用して、所定のクラスのすべてのインスタンスを返し、ループ構造を使用して各インスタンスを処理します。ループでは、各インスタンスを関連メソッドに渡すことができます。
この例は、op クラスとそのサブクラスのインスタンスを列挙します。while ループを使って個々のインスタンスを CIMObjectPath (op) にキャストし、各インスタンスを associators メソッドの第 1 引数として渡します。
{ ... Enumeration e = cc.enumerateInstances(op, true); while (e.hasMoreElements()) { op = (CIMObjectPath)e.nextElement(); Enumeration e1 = cc.associators(op, null, null, null, null, false, false, null); ... }
関連メソッドでオプション引数を使用して、返されるクラスやインスタンスをフィルタ処理できます。すべてのパラメータが処理されるまで、オプションの各パラメータ値は、その結果をフィルタ処理のために次のパラメータに渡します。
任意の 1 つのオプションパラメータ、またはその組み合わせた値を渡すことができます。各パラメータには値または null を指定する必要があります。最初の 4 つのパラメータは、返されるクラスおよびインスタンスをフィルタします。
assocClass
resultClass
resultRole
role