条件の処理¶
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のリストを含みます。
