Solaris WBEM 開発ガイド

WHERE

WHERE 句は、abstract クラス QueryExp によって表現されます。concrete サブクラスは、AndQueryExpOrQueryExpNotQueryExp、および BinaryRelQueryExp です。これらの式のインスタンスは、元の条件式を表す構文解析ツリーの形式で結合されます。

このツリーの内部ノードは、AndQueryExpOrQueryExp、および NotQueryExp インスタンスで構成されます。これらのインスタンスは、AND、OR、および NOT 式を表します。これらの式は、その他の AND、OR、および NOT 式と、バイナリ関係で構成されます。

葉ノードは、BinaryRelQueryExp で、property operator constant 形式の式で表されます。この形式は、プロパティと定数値の 2 項関係を表します。 getLeftValuegetRightValue、および getOperator メソッドを使用して、property operator constant を取得します。

QueryExp の apply メソッドを CIMInstance に渡すと、ブール値が返されます。QueryExp で表される条件式が、CIMInstance で true になると、ブール値が true になります。true でない場合は、ブール値は false になります。

QueryExp には、ほかにも 2 つの有用なメソッドである canonizeDOCcanonizeCOD があります。 canonizeDOCcanonizeCOD を使用すると、処理をする際の条件式を簡略化することができます。canonizeDOC メソッドは、構文木を複数の AND および複数の OR の任意結合から標準的な論理積の論理和 (複数の AND の OR) 形式に変換します。canonizeCOD メソッドは、構文木を複数の AND および複数の OR の任意結合から標準的な論理和の論理積 (複数の OR の AND) 形式に変換します。これらのクラスおよびメソッドは、入力照会に基づいてインスタンスにフィルタを適用するプロバイダによって使用されます。


注 –

これらのクラスの詳細については、javadoc コマンドで表示される、API リファレンスページを検索してください。/usr/sadm/lib/wbem/doc/index.html を参照してください。