Package org.iplass.mtp.entity.query
Class PreparedQuery
java.lang.Object
org.iplass.mtp.entity.query.PreparedQuery
バインド変数を定義可能なQuery。
select oid, name, mail from MtpUser where oid='${user.oid}' and startDate invalid input: '<'= '${sysdate}' and customProp='${session.customProp}'
といった形で定義されたquery実行時に変数にバインド可能。
デフォルトでバインド可能な変数、関数
- user : 実行するユーザーの情報。※1参照
- date : 現在日時のjava.util.Dateのインスタンス。
- sysdate : 現在日付(時間含まず)の文字列。テナントローカルなタイムゾーンの日付。例:2011-01-20
- sysdatetime : 現在日時の文字列。テナントローカルなタイムゾーンの日時。例:2011-01-18 02:05:03.348
- systime : 現在時間の文字列。テナントローカルなタイムゾーンの時間。例:23:19:00
- toIn(Collection/Array): 引数のCollectionもしくは配列を、inの文字列表現に変換。利用例:"oid in (${toIn(user.groupOid)})"
- toDateString(Date): 引数のjava.util.Dateのインスタンスを日付の文字列表現に変換。利用例"startDate > '${toDateString(date)}'"
- toLocalDateString(Date): 引数のjava.util.Dateのインスタンスをローカル日付の文字列表現に変換。利用例"startDate > '${toLocalDateString(date)}'"
- toDateTimeString(Date): 引数のjava.util.Dateのインスタンスを日時の文字列表現に変換。利用例"startDateTime > '${toDateTimeString(date)}'"
- toTimeString(Date): 引数のjava.util.Dateのインスタンスを時間の文字列表現に変換。利用例"startTime > '${toTimeString(date)}'"
- toLocalTimeString(Date): 引数のjava.util.Dateのインスタンスをローカル時間の文字列表現に変換。利用例"startTime > '${toLocalTimeString(date)}'"
- addYear(Date, int): 引数のjava.util.Dateのインスタンスに指定の年を加えたjava.util.Dateインスタンスを取得する。利用例"startDate > '${toDateString(addYear(date, -1))}'"
- addMonth(Date, int): 引数のjava.util.Dateのインスタンスに指定の月を加えたjava.util.Dateインスタンスを取得する。利用例"startDate > '${toDateString(addMonth(date, 3))}'"
- addWeek(Date, int): 引数のjava.util.Dateのインスタンスに指定の週を加えたjava.util.Dateインスタンスを取得する。利用例"startDate > '${toDateString(addWeek(date, -2))}'"
- addDay(Date, int): 引数のjava.util.Dateのインスタンスに指定の日を加えたjava.util.Dateインスタンスを取得する。利用例"startDate > '${toDateString(addDay(date, 10))}'"
- addHour(Date, int): 引数のjava.util.Dateのインスタンスに指定の時間を加えたjava.util.Dateインスタンスを取得する。利用例"startDateTime > '${toDateTimeString(addHour(date, -12))}'"
- addMinute(Date, int): 引数のjava.util.Dateのインスタンスに指定の分を加えたjava.util.Dateインスタンスを取得する。利用例"startTime > '${toTimeString(addMinute(date, 30))}'"
- addSecond(Date, int): 引数のjava.util.Dateのインスタンスに指定の秒を加えたjava.util.Dateインスタンスを取得する。利用例"startTime > '${toTimeString(addSecond(date, -10))}'"
- addMillisecond(Date, int): 引数のjava.util.Dateのインスタンスに指定のミリ秒を加えたjava.util.Dateインスタンスを取得する。利用例"startDateTime > '${toDateTimeString(addMillisecond(date, -500))}'"
userについて※1
userにバインドされているインスタンスから、Userエンティティに登録されている情報を取得可能。 バインドされているインスタンス自体はorg.iplass.mtp.auth.Userではない点注意。 Userエンティティに登録されている属性に加えて、以下の変数/関数を取得/実行可能。
- groupCode : ユーザーの所属するグループのグループコードのString[]。(※セキュリティのEntityの限定条件に利用する場合、groupOidの利用の方が高速です。)
- groupCodeWithChildren : ユーザーの所属するグループ、およびそのサブグループ含めたすべてのグループコードのString[]。
- groupCodeWithParents : ユーザーの所属するグループ、およびその親グループ(ルートまで)含めたすべてのグループコードのString[]。
- groupOid : ユーザーの所属するグループのoidのString[]。
- groupOidWithChildren : ユーザーの所属するグループ、およびそのサブグループ含めたすべてのグループのoidのString[]。
- groupOidWithParents : ユーザーの所属するグループ、およびその親グループ(ルートまで)含めたすべてのグループのoidのString[]。
- memberOf(String): ユーザーが、引数のグループコードのメンバ(サブグループに所属していても)の場合trueを返す。
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionqueryExpressionをConditionとして取得する。queryExpressionをQueryとして取得する。queryExpressionをValueExpressionとして取得する。
-
Constructor Details
-
PreparedQuery
-
-
Method Details
-
getQueryString
-
query
queryExpressionをQueryとして取得する。- Parameters:
binding
-- Returns:
-
condition
queryExpressionをConditionとして取得する。- Parameters:
binding
-- Returns:
-
value
queryExpressionをValueExpressionとして取得する。- Parameters:
binding
-- Returns:
-