|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectrobbie.dao.x.XQueryParseUtil
XQueryのXML要素解析のユーティリティクラス。
Ver1.2まではXQueryに実装していたメソッドを、Ver1.3.0以降はstaticメソッドとして分離しました。
メソッドの概要 | |
static java.lang.StringBuffer |
handleBetweenElement(org.jdom.Element ele,
java.util.Map params,
java.util.List paramsMapList)
<between>要素からSQL文字列を生成。 |
static java.lang.StringBuffer |
handleConstElement(org.jdom.Element ele,
java.util.Map params,
java.util.List paramsMapList)
<const>要素からSQL文字列を生成する。 |
static java.lang.Object |
handleLikeAttribute(java.lang.String likeStr,
java.lang.Object valueObj)
<like>属性がある場合にはバインドする変数にワイルドカードを追加する。 |
static java.lang.StringBuffer |
handleListElement(org.jdom.Element ele,
java.util.Map params,
java.util.List paramsMapList)
<list>要素からSQL文字列を生成。 |
static java.lang.StringBuffer |
handleQueryElement(org.jdom.Element ele,
java.util.Map params,
java.util.List paramsMapList)
<query>、<subquery>、<case>、<default>要素からSQL文字列を生成する。 |
static java.lang.StringBuffer |
handleRepeatElement(org.jdom.Element ele,
java.util.Map params,
java.util.List paramsMapList)
<repeat>要素からSQL文字列を生成。 |
static java.lang.StringBuffer |
handleSwitchElement(org.jdom.Element ele,
java.util.Map params,
java.util.List paramsMapList)
<switch>要素からSQL文字列を生成。 |
static java.lang.StringBuffer |
handleVarElement(org.jdom.Element ele,
java.util.Map params,
java.util.List paramsMapList)
<var>要素からSQL文字列を生成。 |
static java.lang.StringBuffer |
handleWhereElement(org.jdom.Element ele,
java.util.Map params,
java.util.List paramsMapList)
<where>属性からSQL文字列を生成。 |
static boolean |
isSpaceOnly(java.lang.String str)
空白のみの文字列かどうかをチェックする。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
メソッドの詳細 |
public static java.lang.StringBuffer handleQueryElement(org.jdom.Element ele, java.util.Map params, java.util.List paramsMapList)
query、switch、list、where、var、repeat、between要素、CDATAが記述可能です。 テキストが有効なのは、query、case(default)、subquery要素の 直下のコンテンツのみです。 その他のwhere、switch、list要素では、テキストは許されません。 また、その逆でquery、case(default)、subquery要素の直下ではconst要素は使用出来ません。 const要素はwhereおよびlist要素でのみ使用できます。
ele
- 要素オブジェクトparams
- 入力パラメータMapparamsMapList
- バインド変数のList
public static java.lang.StringBuffer handleConstElement(org.jdom.Element ele, java.util.Map params, java.util.List paramsMapList)
この要素は、var、repeat、betweenと同様にleaf(枝の先端)となる要素です。 子要素は存在しません。 また、このconst要素はwhere要素、またはlist要素でのみ指定できます。
ele
- 要素オブジェクトparams
- 入力パラメータMapparamsMapList
- バインド変数のList
public static java.lang.StringBuffer handleVarElement(org.jdom.Element ele, java.util.Map params, java.util.List paramsMapList)
var要素内には、パラメータに対応するバインド変数「?」を 一つだけ含むテキストであることが想定されています。 子要素がある場合には無視されます。 また、パラメータが存在しない場合にはこの要素の存在は 無視されるため、動的にSQLを作成する場合にはvar要素と where、list要素を利用してSQLを定義します。
ele
- 要素オブジェクトparams
- 入力パラメータMapparamsMapList
- バインド変数のList
public static java.lang.StringBuffer handleRepeatElement(org.jdom.Element ele, java.util.Map params, java.util.List paramsMapList)
基本的にrepeat要素はIN述語のデータを展開するときのみに使用します。 それ以外の使用については想定していませんので注意してください。 また、var要素でreq属性がtrueである時と同様にパラメータが存在しなければ エラーとします。
ele
- 要素オブジェクトparams
- 入力パラメータMapparamsMapList
- バインド変数のList
public static java.lang.StringBuffer handleBetweenElement(org.jdom.Element ele, java.util.Map params, java.util.List paramsMapList)
between要素はSQLのBETWEEN句のように、2つセットで指定する必要が ある場合に利用します。従って、varと違って2つのKEYの存在チェックを 行なう必要があります。 また、便宜上betweenという名前にしただけで、between句にしか使えない物では ありません。
ele
- 要素オブジェクトparams
- 入力パラメータMapparamsMapList
- バインド変数のList
public static java.lang.StringBuffer handleSwitchElement(org.jdom.Element ele, java.util.Map params, java.util.List paramsMapList)
switch要素内では、case、defaultしか許されません。 テキストも無視されます。
ele
- 要素オブジェクトparams
- 入力パラメータMapparamsMapList
- バインド変数のList
public static java.lang.StringBuffer handleListElement(org.jdom.Element ele, java.util.Map params, java.util.List paramsMapList)
list要素内では、テキストは許されません。 これは、listが子Elementの結果同士を結合するための 機能を実装するためです。 従ってvar、repeat, const、list、switch、subqueryの要素および 空白文字列のみを許可し、残りの要素は無視します。 ただし、空白文字列に対してはjoin文字列で結合は行ないません。
ele
- 要素オブジェクトparams
- 入力パラメータMapparamsMapList
- バインド変数のList
public static java.lang.StringBuffer handleWhereElement(org.jdom.Element ele, java.util.Map params, java.util.List paramsMapList)
list要素との違いは、join属性がセットされていなければ、 値を"AND"でjoin属性をセットすることと、WHERE文字列を 先頭に追加することです。
ele
- 要素オブジェクトparams
- 入力パラメータMapparamsMapList
- バインド変数のList
public static java.lang.Object handleLikeAttribute(java.lang.String likeStr, java.lang.Object valueObj)
変数がStringではない場合には、何もしない。
likeStr
- valueObj
-
public static boolean isSpaceOnly(java.lang.String str)
実際には、半角空白、全角空白、CR、LF、タブ以外の 文字が入っていないかをチェックしている。
str
-
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |