Solaris WBEM SDK 開発ガイド

関連メソッド

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

表 3-2 関連メソッド

メソッド 

説明 

associators

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

associatorNames

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

references

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

referenceNames

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

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

図 3-2 TeacherStudent 関連 2

Graphic

図 3–2では、associators および associatorNames メソッドが、Teacher および Student クラスに関連付けられたクラスの情報を返します。references および referenceNames メソッドは、Teacher および Student クラス間の関連に関する情報を返します。

表 3-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 とリンクされている。Math TeacherArt Teacher は、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 メソッドを使用して、所定のクラスのすべてのインスタンスを返し、ループ構造を使用して各インスタンスを処理します。ループでは、各インスタンスを関連メソッドに渡すことができます。


例 3-14 インスタンスの引き渡し

次の例では、op クラスとそのサブクラス内のインスタンスを列挙し、while ループを使って、各インスタンスを CIMObjectPath (op) にキャストし、 associators メソッドへの最初の引数として渡します。

 {
    ...
    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 を指定する必要があります。返されるクラスやインスタンスをフィルタ処理するパラメータには、assocClassresultClassroleresultRole があります。これらの引数を使用すると、これらのパラメータに指定された値と一致するクラスやインスタンスだけが返されます。返されるクラスやインスタンスに含まれている情報をフィルタ処理するパラメータには、includeQualifiersincludeClassOriginpropertyList があります。