Solaris WBEM 開発ガイド

関連メソッド

CIMClient 内の関連メソッドは、クライアントとインスタンス間の関連 (関係) に関する情報を返します。次の表では、これらのメソッドについて説明します。

表 4–2 関連メソッド

ソート方法 

説明 

associators

指定された CIM クラスやインスタンスに関連付けられている CIM クラスやインスタンスを取得する 

associatorNames

指定された CIM クラスやインスタンスに関連付けられている CIM クラスやインスタンスの名前を取得する 

references

指定された CIM クラスやインスタンスを参照する関連クラスやインスタンスを取得する 

referenceNames

指定された CIM クラスやインスタンスを参照する関連クラスやインスタンスの名前を取得する 

これらのメソッドは、単一の必須引数 CIMObjectPath を取ります。CIMObjectPath は、検索する関連、関連付けられたクラス、またはインスタンスを持つソースの CIM クラスまたは CIM インスタンスの名前です。CIMOM は、関連、関連付けられたクラス、またはインスタンスを検出できない場合、何も返しません。

図 4–2 TeacherStudent 関連 2

Math Teacher と Art Teacher は Teacher のサブクラス、Teacher 1、Teacher 2、および Student 1 はクラスインスタンスです。

前出の図の 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 とリンクされている。MathTeacherArtTeacher は、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 メソッドは、引数 includeQualifiersincludeClassOrigin および propertyList を取りません。これらの引数は、インスタンスまたはクラスの名前だけを返し、その内容を返さないメソッドには不必要です。


関連メソッドへのクラスの引き渡し

クラス名を指定する場合、そのモデルパスを指定します。モデルパスには、クラスの名前空間、クラス名、およびキーが含まれます。キーは、管理リソースを一意に識別するプロパティまたはプロパティのセットです。キープロパティは、key 修飾子によって示されます。次に、サンプルモデルパスを示します。

\\myserver\\root\cimv2\Solaris_ComputerSystem.Name=
mycomputer: CreationClassName=Solaris_ComputerSystem

このモデルパスは、次の値を指定します。

関連メソッドへのインスタンスの引き渡し

enumerateInstances メソッドを使用して、所定のクラスのすべてのインスタンスを返し、ループ構造を使用して各インスタンスを処理します。ループでは、各インスタンスを関連メソッドに渡すことができます。


例 4–14 インスタンスの引き渡し

この例は、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 つのパラメータは、返されるクラスおよびインスタンスをフィルタします。

これらの引数を使用すると、これらのパラメータに指定された値と一致するクラスやインスタンスだけが返されます。返されるクラスやインスタンスに含まれている情報をフィルタ処理するパラメータには、includeQualifiersincludeClassOriginpropertyList があります。