条件の処理¶
run、delete、および update の各メソッドの引数としてカスタムラッパーに渡される条件は (「 AbstractCustomWrapper の拡張 」および「 AbstractCustomWrapper のオーバーライド 」を参照)、 CustomWrapperConditionHolder
のインスタンスにカプセル化されて渡されます。このクラスのオブジェクトに格納されてカスタムラッパーに渡される条件には、次の 2 つのバージョンがあります。
getConditionMap
メソッドを呼び出すことで使用できる簡素化されたバージョン。このバージョンは、CustomWrapperFieldExpressions
とObjects
間のアソシエーションで構成されます。たとえば、{ FIELD1 - 100; FIELD2 - 'foo' }
のような条件マップの場合、カスタムラッパーに渡す条件はFIELD1 = 100 AND FIELD2 = 'foo'
になります。条件をマップとして使用するためには、その条件がパターンFIELD_1 = value [AND FIELD_N = value]*
に一致している必要があります。一致していない場合、getConditionMap
メソッドは null を返します。getConditionMap(boolean force)
メソッドを呼び出し、force の値として true を渡すことによって、マップへの変換を強制することができます。ただし、この場合、返されるマップは元の条件と等価でない場合があることに注意してください。CustomWrapperCondition
のインスタンス。このバージョンは、getComplexCondition
メソッドを呼び出すことによって使用できます。
CustomWrapperCondition は、カスタムラッパーがサポート可能な、以下のすべての条件タイプのスーパークラスです。
CustomWrapperSimpleCondition
: 単純条件を表します。左辺式 (CustomWrapperExpression
オブジェクト)、演算子、および右辺式 (CustomWrapperExpression
オブジェクトの配列) を保持します。右辺式は配列に格納され、通常は式を 1 つのみ含みます。CustomWrapperAndCondition
: AND 演算子で結合された一連の条件を表します。CustomWrapperCondition
オブジェクトのリストを保持します。CustomWrapperOrCondition
: OR 演算子で結合された一連の条件を表します。CustomWrapperCondition
オブジェクトのリストを保持します。CustomWrapperNotCondition
: 否定条件を表します。CustomWrapperCondition
を保持します。
CustomWrapperExpression は、カスタムラッパーがサポートする、以下のすべての式タイプのスーパークラスです。
CustomWrapperFieldExpression
: 条件の左辺で最も一般的なタイプの式です。詳細については、「 AbstractCustomWrapper のオーバーライド 」を参照してください。CustomWrapperSimpleExpression
: この種の式は、型 (java.sql.Types
に定義されている型の 1 つ) と値を持ちます。CustomWrapperFunctionExpression
: パラメータ付きの関数を表します。このタイプの式は、名前、オプションの修飾子 (ALL
またはDISTINCT
)、パラメータ (CustomWrapperFunctionParameter
のインスタンス) のリスト、および集計関数であるかどうかのプロパティを持ちます。各CustomWrapperFunctionParameter
はCustomWrapperExpressions
のリストを含みます。CustomWrapperConditionExpression
:CASE
関数の条件パラメータを表します。CustomWrapperCondition
を含みます。CustomWrapperArrayExpression
: すべて同じ種類のCustomWrapperExpressions
のリストを含みます。CustomWrapperRegisterExpression
: 任意の種類のCustomWrapperExpressions
のリストを含みます。