Directiveの一覧(アルファベット順)及び、それぞれについての詳細説明です。
なお、文中にある「リスト」はCollection,配列(ものによってはPortfolio)を含みます。
Abs
|
引数を一つとりその絶対値を返す。
書式:
&Abs:{ p1 }
引数:
- p1引数:絶対値を取得したいjava.lang.Number系オブジェクト。(Stringは不可)
返値:
- p1引数と同じ型の絶対値を表すNumber系オブジェクトを返す。
- s1引数がnullの場合は、nullを返す。
例:AサービスセッションキーのNumberの絶対値を取得してサービスセッションキーBにセットする。
B &Abs:{ @A }
|
|
Add
|
引数を二つとりその和を返す。
書式:
&Add:{ s1 }{ s2 }
引数:
- s1引数:加算値のNumber
- s2引数:加算値のNumberもしくは文字列(数値を表すもののみ)
返値:
- 最初の引数と2番目の引数の足し算の結果を返す。
- s1引数がnullの場合は、nullを返す。
例:A,BサービスセッションキーのNumberを加算して,サービスセッションキーCにセットする。
C &Add:{ @A } {@ B }
|
|
AddAllItem
|
ターゲットリストにアイテムリストをすべて追加して返す。
書式:
&AddAllItem:{ list1 }{ list2 }
引数:
- list1引数:Collection,配列,Portfoilo
- list2引数:list1に追加する内容を格納したCollection,配列,Portfoilo
返値:
- list1引数のリストにlist2引数のリストの内容をすべて追加して返す。
- list1引数がnullの場合は、nullを返す。
例:Aサービスセッションキーのリストの内容に,Bサービスセッションキーのリストの内容を追加して,サービスセッションキーCにセットする。
C &AddAllItem:{ @A } {@ B }
|
|
AddDay
|
日付を引数の日数分加えて返す。
書式:
&AddDay:{ date }{ IncValue }
引数:
- date引数:元になる日付を表すDate
- IncValue引数:加算する日数を表すNumber,String
返値:
- date引数のDateオブジェクトにIncValue引数の日数を加えて返す。
- IncValue引数の値がないときは+1日、マイナスの時は減算になる
- date引数がnullの場合は、nullを返す。
例:Aサービスセッションキーのリストの日付に,Bサービスセッションキーの値を加えて,サービスセッションキーCにセットする。
C &AddDay:{ @A } {@ B }
|
|
AddItem
|
ターゲットリストにアイテムを追加して返す。
書式:
&AddItem:{ list1 }{ s1 }
引数:
- list1引数:アイテムを追加する対象のCollection
- s1引数:ターゲットリストに追加するObject
返値:
- list1引数のリストにs1引数のObjectを追加して返す。
- list1引数がnullの場合は、nullを返す。
例:Aサービスセッションキーのリストの内容に,Bサービスセッションキーの内容を追加して,サービスセッションキーCにセットする。
C &AddItem:{ @A } {@ B }
|
|
AddMonth
|
日付を引数の月数分加えて返す。
書式:
&AddMonth:{ p1 }{ IncValue }
引数:
- p1引数:元になる日付を表すDateもしくはYearMonth
- IncValue引数:加算する日数を表すNumber,String
返値:
- p1引数がDateでもYearMonthでもIncValue引数の月数を加えて返す。
- IncValue引数の値がないときは+一ヶ月、マイナスの時は減算になる。日にちは変更しない。
- date引数がnullの場合は、nullを返す。
例:Aサービスセッションキーのリストの日付に,Bサービスセッションキーの値(月数)を加えて,サービスセッションキーCにセットする。
C &AddMonth:{ @A } {@ B }
|
|
AddPortfolio
|
Portfolioにアイテムを追加して返す。
書式:
&AddPortfolio:{ port1 }{ list2 }
引数:
- port1引数:対象のPortfoilo
- list2引数:port1に追加する内容を格納したPortfoilo,Observable,collection
返値:
- port1引数のPortfolioにlist2引数の値をすべて追加して返す。
- port1引数がnullの場合は、nullを返す。
例:AサービスセッションキーのPortfolioの内容に,Bサービスセッションキーのリストの内容を追加して,サービスセッションキーCにセットする。
C &AddPortfolio:{ @A } {@ B }
|
|
AddYear
|
日付を引数の年数分加えて返す。
書式:
&AddYear:{ date }{ IncValue }
引数:
- date引数:操作対象の日付を表すDate,YearMonth,Year
- IncValue引数:加算する年数を表すNumber,String
返値:
- date引数のDateにIncValue引数の年数を加えて返す。
- IncValue引数の値がないときは+一年、マイナスの時は減算になる。月日にちは変更しない。
- date引数がnullの場合は、nullを返す。
例:Aサービスセッションキーのリストの日付に,Bサービスセッションキーの値(年数)を加えて,サービスセッションキーCにセットする。
C &AddYear:{ @A } {@ B }
|
|
ApplyFilter
|
Model集合に対して、filterを適用した結果を返す。
書式:
&ApplyFilter:{ models }{ filter }
引数:
- models引数:filterを適用する対象のモデル集合(List, Set, Array,、Portfolio等)
- filter引数:モデル集合に対して適用するフィルタ条件式(文字列による式、もしくはあらかじめ&CreateFilterで生成されたfilterオブジェクト)
返値:
- modelsがListの場合、filterで抽出したList
- modelsがArrayの場合、元のArrayの型と同じ型の抽出結果の配列
- modelsがPortfolioの場合、元のPortfolioに対してfilterを追加した新規Portfolio
- modelsがnullの場合は、値はnullになる。
- filterがnullの場合は、それぞれの型に応じたmodelsのコピーが生成される。
例:@SearchResultListに対して、フィルタを文字列で与えて適用した結果を取得する
絞込結果 "&ApplyFilter:{@SearchResultList}{Name like %Prescription%}"
|
|
ApplySessionFilter
|
SessionFilter式を評価した真偽値(Boolean.TRUEまたはBoolean.FALSE)を返す
書式:
&ApplySessionFilter:{ SessionFilter }
引数:
返値:
- SessionFilter式を評価した真偽値(Boolean.TRUEまたはBoolean.FALSE)
- SessionFilterがnullの場合は、nullを返す。
例:@SearchResultListの件数が1以上であるかを判定した結果を取得する
判定結果 "&ApplySessionFilter:{'&Size:{@SearchResultList} > 1}"
|
|
AsBase64
|
引数のString/BinaryをBase64文字列に変換して文字列として返す。(Pexa5.2以降)
書式:
&AsBase64:{ source }{ encoding }
引数:
- source引数:Base64文字列に変換する対象のString(java.lang.String)/Binary(pexa.share.util.cont.Binary)
- encoding引数:Base64文字列に変換する際の文字セット名。sourceがString時のみ有効 省略可。
返値:
- source引数をBase64文字列に変換した結果をjava.lang.Stringとして返す。
- source引数がnullのときはnullを返す。
- source引数が0サイズ文字列の場合はnullを返す。
- source引数がStringで、encoding引数がnullのときは、実行プラットフォームのデフォルトエンコーディングが適用される。
- source引数がStringで、encoding引数が不正の場合はエラーを返す。
例:AサービスセッションキーのStringの内容をUTF-8としてBase64文字列に変換し、Cセッションキーで格納する
C &AsBase64:{@A}{UTF-8}
|
|
AsBytes
|
引数を指定の文字セットでバイトシーケンスに変換してjava.lang.Byte配列として返す。
書式:
&AsBytes:{ string }{ encoding }
引数:
- string引数:バイトシーケンスに変換する対象のString
- encoding引数:バイトシーケンスに変換する際の文字セット名。省略可。
返値:
- string引数をencodingでバイトシーケンスに変換した結果をjava.lang.Byte配列として返す。
- string引数がnullのときはnullを返す。
- string引数が0サイズ文字列の場合はnullを返す。
- encoding引数がnullのときは、実行プラットフォームのデフォルトエンコーディングが適用される。
- encoding引数が不正の場合はエラーを返す。
例:AサービスセッションキーのStringの内容をWindows-31JでバイトシーケンスにしてCセッションキーで格納する
C &AsBytes:{ @A }{ Windows-31J }
|
|
AsDate
|
引数を一つとりそれを日付(java.util.Date)に変換して返す。
書式:
&AsDate:{ p1 }
引数:
- p1引数:Dateに変換する対象のDate、YearMonth、Year、Number、String
返値:
- p1引数がDateのときは、そのまま返す。
- p1引数がYearMonthのときは、値をYearMonthが表す月の1日として返す。
- p1引数がNumberのときは、値を時刻値(標準時からの指定されたミリ秒数)を返す。
- p1引数がStringのときは、Java日付変換'yyyy/MM/dd:HH:mm:ss'で変換されて返す。
- 但し、時刻、分、秒は省略できる。
例:AサービスセッションキーのDateの内容サービスセッションキーCにセットする。
C &AsDate:{ @A }
例:Aサービスセッションキーの文字列の内容サービスセッションキーCにセットする。
C &AsDate:{ 2006/10/10 }
|
|
AsDateWithFormat
|
引数をフォーマットの形式で日付(java.util.Date)に変換して返す。
書式:
&AsDateWithFormat:{ format }{ toDateValue }{ locale }
引数:
- format引数:toDateValue引数で渡される日付文字列のフォーマット
- toDateValue引数:Dateに変換する日付文字列
- locale引数:日付文字列のロケール指定。省略可。ただし、"ja_JP_JP"の文字列を指定した場合は、new Locale("ja_JP_JP")ではなく、new Locale("ja","JP","JP")を生成する。この場合、和暦での表示フォーマットになる
返値:
- format引数のフォーマット形式とlocale引数のロケールでtoDateValue引数の文字列をDateに変換して返す。
- locale引数が省略された場合は実行環境のデフォルトロケールが適用される。"ja_JP_JP"が指定された場合は、new Locale("ja","JP","JP")を適用する。
- 変換フォーマットはSimpleDateFormatの書式に従う。また、format引数がNULLの場合はデフォルトのformat:"yyyyMMdd:HH:mm:ss"に従う
例:"yyyy/MM/dd:hh:mm:ss"のフォーマットで,Bサービスセッションキーの文字列をDateに変換して,サービスセッションキーCにセットする。
C &AsDateWithFormat:{yyyy/MM/dd:hh:mm:ss}{@B}
例:ロケールをUSに指定して変換する
C &AsDateWithFormat:{yyyy/MM/dd:hh:mm:ss}{@B}{US}
|
|
AsDecimal
|
引数を一つとりそれをjava.math.BigDecimalに変換して返す。
書式:
&AsDecimal:{ p1 } { scale } { round }
引数:
- p1引数:BigDecimalに変換したいNumberオブジェクトまたは数値文字列
- scale引数:変換時の精度を表すNumberまたは数値文字列
- round引数:変換時の丸め処理を表す文字列
- scale,roundは省略可能である。但し、scaleを省略した時はroundも省略する必要がある。
返値:
- p1引数の内容をBigDecimalに変換して返す。
- scale引数が指定されなかったときは、scale値0で変換する。
- roundを指定しなかった場合は四捨五入(ROUND_HALF_UP)が選択される。
- round引数は以下の文字列を有効とする。
- 切上げ時、"切り上げ","切上","UP","ROUND_UP","up","round_up"
- 切捨て時、"切捨て", "切捨""DOWN", "ROUND_DOWN","down", "round_down"
- 正の無限大に近づくように丸める時、"CEILING", "ROUND_CEILING","ceiling","round_ceiling"
- 負の無限大に近づくように丸める時、"FLOOR","ROUND_FLOOR","floor","round_floor"
- 四捨五入の時、"四捨五入","HALF_UP","ROUND_HALF_UP", "half_up", "round_half_up"
- 五捨六入の時、"五捨六入", "HALF_DOWN", "ROUND_HALF_DOWN","half_down","round_half_down"
- 「もっとも近い数字」 に丸める時、"HALF_EVEN", "ROUND_HALF_EVEN", "half_even", "round_half_even"
- 丸めが必要でないとき、"UNNECESSARY", "ROUND_UNNECESSARY", "unnecessary","round_unnecessary"
- p1引数がnullの場合は、nullを返す。
例:AサービスセッションキーのBigDecimalの内容サービスセッションキーCにセットする。
C &AsDecimal:{ @A }
例:Aサービスセッションキーの値の内容をスケール1、切上げでサービスセッションキーCにセットする。
C &AsDecimal:{ @A } { 1 } { UP }
|
|
AsInteger
|
引数を一つとりそれをjava.lang.Integerに変換して返す。
書式:
&AsInteger:{ p1 }
引数:
- p1引数:Integerの数値文字列に変換できるオブジェクト
返値:
- p1引数がIntegerのときは、そのまま返す。
- p1引数がIntegerクラ以外スのときは、toString()でInteger数値文字列をIntegerに変換して返す。
- p1引数がnullの場合は、nullを返す。
例:AサービスセッションキーのIntegerの内容サービスセッションキーCにセットする。
C &AsInteger:{ @A }
例:Aサービスセッションキーの文字列の内容を数値としてサービスセッションキーCにセットする。
C &AsInteger:{ 1000 }
|
|
AsKey
|
引数を一つとりそれをKey(pexa.share.util.Key)に変換して返す。
書式:
&AsKey:{ p1 }
引数:
- p1引数:toString()で変換値が取得できるオブジェクト
返値:
- toString()で文字列を取得し、Keyクラスに変換して返す。
- p1引数がnullの場合は、nullを返す。
例:Aサービスセッションキーの内容をKeyクラスでサービスセッションキーCにセットする。
C &AsKey:{ @A }
例:Aサービスセッションキーの文字列の内容をKeyクラスでサービスセッションキーCにセットする。
C &AsKey:{ AAAA }
|
|
AsLong
|
引数を一つとりそれをjava.lang.Longに変換して返す。
書式:
&AsLong:{ p1 }
引数:
- p1引数:Longの数値文字列に変換できるオブジェクト,またはjava.util.Date型のデータを含むオブジェクト
返値:
- p1引数がLongのときは、そのまま返す。
- p1引数がDateクラスのときは、getTime()でミリ秒をLongで返す。
- p1引数がLong、Dateクラス以外のときは、toString()でLong数値文字列をLongに変換して返す。
- p1引数がnullの場合は、nullを返す。
例:AサービスセッションキーのLongの内容サービスセッションキーCにセットする。
C &AsLong:{ @A }
例:Aサービスセッションキーの文字列の内容を数値としてサービスセッションキーCにセットする。
C &AsLong:{ 999999999999 }
|
|
AsModel
|
Proxy値を引数としてとりそれをデータモデルに変換して返す。
書式:
&AsModel:{ proxy }
引数:
- proxy引数:必ずProxy値オブジェクトを指定する。
返値:
- proxy引数がProxy値のときは、そのProxy値が指すデータモデルを返す。
- proxy引数がnullの場合は、nullを返す。
- proxy引数がProxy値でもnullでも無い場合は例外を返す。
例:AサービスセッションキーのProxy値が指すデータモデルをサービスセッションキーCにセットする。
C &AsModel:{ @A }
|
|
AsPortfolio
|
引数を一つとりそれを新規作成Portfolioにセットして返す。
書式:
&AsPortfolio:{ p1 }{ filter(optional) }{prefetch(optional) }{ distinct(optional) }
引数:
- p1引数:Portfolioにセットする値でCollectoin,Observable配列,Observableオブジェクト(必須)
- filter引数:Portfolioが対象を絞り込むためのFilter文字列もしくはFilterオブジェクト(省略可)
- prefetch引数:Portfolioがprefetchする現象型名のString,String[],Setオブジェクト(省略可)
- disinct引数:Portfolioがdistinctする現象型名のString,String[],Setオブジェクト(省略可)
返値:
- 変換対象を、指定引数のPortfolioクラス生成し、追加したPortfolioクラスを返す。
- 引数が、nullの場合は、nullを返す。
例:Aサービスセッションキーの内容をPortfolioクラスでサービスセッションキーCにセットする。
C &AsPortfolio:{ @A }
|
|
AsString
|
引数を一つとり、それを文字列(java.lang.String)に変換して返す。
書式:
&AsString:{ p1 }
引数:
- p1引数:toString()で変換値が取得できるオブジェクト
返値:
- toString()で文字列を取得し、Stringに変換して返す。
- p1引数がDateオブジェクトの時、"yyyy/MM/dd:HH:mm:ss"でフォーマット変換を行って返す。
- p1引数がnullの場合は、nullを返す。
例:Aサービスセッションキーの内容をStringクラスでサービスセッションキーCにセットする。
C &AsString:{ @A }
|
|
AsYearMonth
|
引数を一つとり、それをYearMonth(pexa.share.util.cont.YearMonth)に変換して返す。
書式:
&AsYearMonth:{ p1 }
引数:
返値:
- Date,日付文字列をpexa.share.util.cont.YearMonthに変換する。
- 日にちは一日になる。
- p1引数がnullの場合は、nullを返す。
例:Aサービスセッションキーの内容をpexa.share.util.cont.YearMonthクラスに変換してサービスセッションキーCにセットする。
C &AsYearMonth:{ @A }
|
|
AsYear
|
引数を一つとり、それをYear(pexa.share.util.cont.Year)に変換して返す。
pexa4.7-dev33からリターン値がYearクラスに変更になりました。 リターン値がIntegerのものは&AsYearNumに変更されています。
書式:
&AsYear:{ p1 }
引数:
- p1引数:変換したいDate、YearMonth、文字列
返値:
- Date,日付文字列をpexa.share.util.cont.Yearに変換する。
- 日にちは一月一日になる。
- p1引数がnullの場合は、nullを返す。
例:Aサービスセッションキーの内容をpexa.share.util.cont.Yearクラスに変換してサービスセッションキーCにセットする。
C &AsYear:{ @A }
|
|
AsZip
|
指定ソース(String,Binary)をZip圧縮して、Zip圧縮されたpexa.share.util.cont.Binaryを返す。
指定ソースははjava.lang.Stringもしくはpexa.share.util.cont.Binaryで渡すことが出来る。
圧縮したZipファイルにはパスワードを設定することが可能です。
指定ファイルに日本語が含まれた時のためにファイル名の文字コードを指定することが可能です。(展開するマシンがWindowsの場合はMS932を指定する)
書式:
&AsZip:{ source}{ File Name }{ encoding}{file name encode}{password}
引数:
- source引数:圧縮対象のソース(Stringまたは、pexa.share.util.cont.Binary)(必須)
- file name引数:圧縮対象になったファイル名を表す文字列(必須)
- encoding引数:ソースがStringの時のファイル書き込み時の文字コード(エンコード)を表す文字列(非必須)DefaultはMS932
- file name encode引数:圧縮ファイルのファイル名の文字コード(エンコード)を表す文字列(非必須)DefaultはMS932
- password引数:圧縮展開時のパスワードを表す文字列(非必須)Defaultはパスワードなし
返値:
- Zip圧縮されたpexa.share.util.cont.Binaryを返す
例:Aセッションの内容をBファイルに圧縮し、パスワードとして@Dの値をセットする。DにZip圧縮されたpexa.share.util.cont.Binaryを返す
C &AsZip:{ @A }{ @B }{ MS932 }{@D}
|
|
BeforeDay
|
評価時の前日かつam00:00:00のjava.util.Dateを返す。
書式:
&BeforeDay
引数:
返値:
- 評価時の前日かつam00:00:00を表すjava.util.Dateオブジェクト
例:作成日サービスセッションが前日以降かを比較する
@作成日 >= &BeforeDay
|
|
CheckDateWithFormatLenient
|
引数のフォーマット形式で日付(java.util.Date)に対し、厳密な変換して不正日付をチェックして返す。
書式:
&CheckDateWithFormatLenient:{ format }{ toDateValue }{ locale }
引数:
- format引数:toDateValue引数で渡される日付文字列のフォーマット
- toDateValue引数:Dateに変換する日付文字列
- locale引数:日付文字列のロケール指定。省略可。ただし、"ja_JP_JP"の文字列を指定した場合は、new Locale("ja_JP_JP")ではなく、new Locale("ja","JP","JP")を生成する。この場合、和暦での表示フォーマットになる
返値:
- format引数のフォーマット形式とlocale引数のロケールでtoDateValue引数の文字列をDateに変換して返す。
- locale引数が省略された場合は実行環境のデフォルトロケールが適用される。"ja_JP_JP"が指定された場合は、new Locale("ja","JP","JP")を適用する。
- 変換フォーマットはSimpleDateFormatの書式に従う。また、format引数がNULLの場合はデフォルトのformat:"yyyyMMdd:HH:mm:ss"に従う
- 変換エラー時は、nullを返す。日付文字列の指定が"2016/13/01"のように日付として不正な場合もエラーになる。&AsDateWithFormatでは"2017/01/01"と解釈される。
例:"yyyy/MM/dd:hh:mm:ss"のフォーマットで,Bサービスセッションキーの文字列をDateに変換して,サービスセッションキーCにセットする。
C &CheckDateWithFormatLenient:{yyyy/MM/dd:hh:mm:ss}{@B}
例:@Bの日付文字列が正しいかチェックする。
(branch
(before_condition
filter "&CheckDateWithFormatLenient:{yyyy/MM/dd:HH:mm:ss}{@B} is not null "
error "DateString format error!!"
)
format_type session
(session
(session_keys
正しい日付 &AsDateWithFormat:{yyyy/MM/dd:HH:mm:ss}{@B}
)
)
)
|
|
CheckStringPattern
|
引数のフ文字列内の必須文字種が存在するかをチェックし、結果を返す。
書式:
&CheckStringPattern:{@INP}{Pattern}
引数:
- INP引数:チェック対象の文字列を示す。
- Pattern引数は、必須文字種のパターンを以下の文字で表す。複数文字種を指定することができる。
N:必須文字種として数字(0~9)
A:必須文字種として英字大文字(A~Z)
a:必須文字種として英字小文字(a~z)
E:必須文字種として英字(A~Z、 a~z )
S:必須文字種として特殊文字( “`”,“~”,“!”,“@”,“#”,“$”,“%”,“^”,“&”,“*”,“(”,“)”,“_”,
“-”,“+”,“=”,“{”,“}”,“[”,“]”,“\\”,“|”,“:”,“;”,“\”“,”‘“,”<“,”>“,”,“,”.“,”?“,”/“)
返値:
- 必須文字種がすべてそろっている場合は、Integerの0を返す。
- 必須文字種に足りないものがある時は、Integerの1を返す。
例: INPセッションに数字・英字・特殊文字が存在しない場合は1、存在する場合は0をRTNセッションにセットする。
RTN &CheckStringPattern:{@INP}{NES}
|
|
Cat
|
文字列の連結結果を返す。
書式:
&Cat:{ p1 }...{ pN }
引数:
- p1引数:連結対象の値オブジェクト(DateもしくはtoString可能なオブジェクト)
- pN引数:連結対象の値オブジェクト(DateもしくはtoString可能なオブジェクト)
返値:
- toString()で文字列を取得し、Stringクラスに変換して引数分連結して返す。
- 引数がDateオブジェクトの時、"yyyy/MM/dd:HH:mm:ss"でフォーマット変換を行って返す。
- 連結対象nの値がnull値の場合はその分はスキップされる
例:A,B,C/Pathサービスセッションキーの内容をStringクラスで連結しサービスセッションキーDにセットする。
D &Cat:{ @A }{ @B }{ @C/Path }
例:連結対象1="AAA",連結対象2=null,連結対象3="CCC"の場合
連結結果 &Cat:{@連結対象1}{@連結対象2}{@連結対象3}
とした場合は連結結果="AAACCC"となる。
|
|
ClearTime
|
時刻の特定位置以降をクリアして返す。
書式:
&ClearTime:{ date }{ position }
引数:
- date引数:クリア対象の日時値オブジェクト(Dateクラス)
- position引数:クリアする位置を表すの値オブジェクト(Stringクラス)引数は省略可、省略時はHOURを指定した場合と同じになります。
- HOUR:時以降を0クリア
- MINUTE:分以降を0クリア
- MIN:分以降を0クリア
- SECOND:秒以降を0クリア
- SEC:秒以降を0クリア
- MILLISECOND:ミリ秒を0クリア
- MSEC:ミリ秒を0クリア
返値:
例:DATEサービスセッションキーの内容を分以降0クリアでサービスセッションキーDにセットする。
D &ClearTime:{ @DATE }{ MINUTE }
例:DATE="2012/10/01:11:22:33.567",PositionがMINUTEの場合
クリア結果="2012/10/01:11:00:00.000"となる。
|
|
Clone
|
ターゲットのUpdatable,Observable,Clonableのコピーオブジェクトを返す
書式:
&Clone:{ target }
引数:
- target引数:コピー対象となる、UpdatableまたはObservableまたはClonable。
返値:
- targetのコピーオブジェクト。
- もしtargetがnullの場合は、nullを返す。
- もしtargetがUpdatableでもなくObservableでもなくClonableでもない場合は例外を返す。
例:@AModelのコピーを作成して@BModelとして保持する。
BModel &Clone:{@AModel}
|
|
ConnectDateTime
|
日付と時刻を連結して返す。
書式:
&ConnectDateTime:{ date }{ time }
引数:
- date引数:連結対象の日付値オブジェクト(Dateクラス)、日付部分のみが連結対象となり、時刻部分は対象外となります。
- time引数:連結対象の日付値オブジェクト(Dateクラス)、時刻部分のみが連結対象となり、日付部分は対象外となります。
返値:
例:DATEサービスセッションキーの日付とTIMEサービスセッションキーの時刻値を連結してサービスセッションキーDにセットする。
D &ConnectDateTime:{ @DATE }{ @TIME }
例:DATE="2012/10/01:11:22:33.456",TIME="1990/01/01:22:33:44.567"
連結結果="2012/10/01:22:33:44.567"となる。
|
|
CreateFilter
|
&ApplyFilterで使用する条件式フィルタオブジェクトを生成して返す。
書式:
&CreateFilter:{ filterString }
引数:
返値:
- filterStringの内容を表すフィルタオブジェクト
- filterStringがnullの場合は、nullを返す。
例:絞り込みに使用するためのフィルタをあらかじめ生成しておく
絞込用フィルタ "&CreateFilter:{RemovedFlag = REMOVED and RecoverableFlag = RECOVERABLE}"
|
|
CreateSessionFilter
|
&ApplySessionFilterで使用するSession条件式フィルタオブジェクトを生成して返す。
書式:
&CreateSessionFilter:{ sessionFilterString }
引数:
- sessionFilterString引数:文字列によるSession条件式
返値:
- sessionFilterStringの内容を表すSession条件式フィルタオブジェクト
- sessionFilterStringがnullの場合は、nullを返す。
例:検索結果チェックに使用するためのSession条件式フィルタをあらかじめ生成しておく
検索結果チェック条件式 "&CreateSessionFilter:{@検索結果件数 > 1}"
|
|
DateToString
|
引数をフォーマットの形式で日付(java.util.Date)を文字列に変換して返す。
書式:
&DateToString:{ format }{ DateValue }{ locale }
引数:
- format引数:日付文字列フォーマットを表すString
- DateValue引数:文字列に変換する対象のDateオブジェクト
- locale引数:日付表記のロケール指定。省略可。
返値:
- format引数のフォーマット形式とlocale引数のロケール指定でDateValue引数のDateオブジェクトを文字列に変換して返す。
- locale引数が省略された場合は実行環境のデフォルトロケールが適用される。"ja_JP_JP"が指定された場合は、new Locale("ja","JP","JP")を適用する。また、"ja_JP_JP_ERA"が指定された場合は、フォーマット文字列のGまたは、GGGG(年号)がERAの数(明治:1,大正:2,昭和:3,平成:4)に置き変わる
- 変換フォーマットはSimpleDateFormatの書式に従う。
- DateValue引数がnullの場合は、nullを返す。
例:Aサービスセッションキーのリストのフォーマットで,Bサービスセッションキーの日付(Dateクラス)を文字列に変換して,サービスセッションキーCにセットする。
C &DateToString:{ @A } {@ B }
例:US表記形式の日付文字列を取得する場合
C &DateToString:{ @A } {@ B } { US }
|
|
DayOfFromTo
|
指定の2つの日付間が何日間かをjava.lang.Integerで取得する
書式:
&DayOfFromTo:{ from }{ to }
引数:
- from引数:日数を取得したい日付のfrom側をあらわすjava.util.Dateオブジェクト。
- to引数:日数を取得したい日付のto側をあらわすjava.util.Dateオブジェクト。
返値:
- fromとtoの間が何日間あるかを表すjava.lang.Integer値
- from, toがnullの場合は、nullを返す。
- from, toがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:発注日から今日までに経過した日数を取得する
発注後経過日数 "&DayOfFromTo:{@発注日}{&Today}"
@発注日が2/1で今日日付が2/10の場合はjava.lang.Integerで"9"を返す。
|
|
DayOfWeek
|
指定日の曜日をpexa.share.util.business.DayOfWeekで取得する
書式:
&DayOfWeek:{ date }
引数:
- date引数:曜日を判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateの曜日を表すpexa.share.util.business.DayOfWeekオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:今日の曜日を取得する場合
今日の曜日 "&DayOfWeek:{&Today}"
もしその日が月曜日の場合は、DayOfWeek.MONDAYが取得できる。
|
|
DayOfWeekInMonth
|
指定日の曜日がその月の何回目であるかをjava.lang.Integerで取得する
書式:
&DayOfWeekInMonth:{ date }
引数:
- date引数:判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateの曜日がその月の何度目のものかを表すjava.lang.Integerオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:今日の曜日がその月の何度目かを取得する場合
今日の曜日の回数 "&DayOfWeekInMonth:{&Today}"
もしその日が第3月曜日の場合は、java.lang.Integerで"3"が取得できる。
|
|
DayOfMonth
|
指定日の日がその月の何日目かをjava.lang.Integerで取得する。
書式:
&DayOfMonth:{ date }
引数:
- date引数:判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateがその月の何日であるかを表すjava.lang.Integerオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:今日がその月の何日かを取得する場合
今日が何日か "&DayOfMonth:{&Today}"
もしその日が3月7日の場合は、java.lang.Integerで"7"が取得できる。
|
|
DayOfYear
|
指定日の日がその年の何日目かをjava.lang.Integerで取得する
書式:
&DayOfYear:{ date }
引数:
- date引数:判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateがその年の何日であるかを表すjava.lang.Integerオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:今日がその年の何日かを取得する場合
今日がその年の何日か "&DayOfYear:{&Today}"
もしその日が2月1日の場合は、java.lang.Integerで"32"が取得できる。
|
|
Dec
|
引数を一つとりそれを-1して返す。
書式:
&Dec:{ @p1 }
引数:
- p1引数:デクリメントする対象のNumberオブジェクト
返値:
- -1された値をp1引数と同じNumberオブジェクトで返す
- 変換ではLongクラスを使用しているため、整数で計算されます。
- p1引数がnullの場合は、nullを返す。
例:Aサービスセッションキーの内容を-1してサービスセッションキーCにセットする。
C &Dec:{ @A }
|
|
DecodeBase64
|
Base64文字列を変換して、その内容を返す。(Pexa5.2以降)
Base64文字列をテキストとして変換してjava.lang.Stringで返すか、
Base64文字列をバイナリとして変換してpexa.share.util.cont.Binaryで返すかをtype指定できる
書式:
&DecodeBase64:{ base64 }{ type }{ encoding }
引数:
- base64引数:変換対象のBase84文字列
- type引数:変換タイプの指定。以下の2つが指定できる。
- String : テキストとして変換。
- Binary : バイナリとして変換。
- encoding引数:type引数がStringの場合に変換エンコーディングを指定する。(省略可)
encoding引数の省略時はプラットフォームのデフォルトエンコーディングで変換される。
返値:
- type引数がStringの場合は、変換結果をjava.lang.Stringで返す。
- type引数がBinaryの場合は、変換結果をpexa.share.util.cont.Binaryで返す。
例:Aファイルの内容をUTF-8エンコーディングでStringとして変換してCに返す
C &DecodeBase64:{ @A }{ String }{ UTF-8 }
例:Aファイルの内容をBinaryとして変換してCに返す
C &DecodeBase64:{ @A }{ Binary }
|
|
Distinct
|
Group,Portfolio,データモデルリスト内の値の重複のないSetを返す。
書式:
&Distinct:{ target }{ item }
このディレクティブは、データモデルの集合(target引数)から、
指定された項目(item引数)の重複のない値の集合(Set)を取得します。
例えばList中にデータモデルが5件入っていて、ある項目の値がそれぞれ
null
1
null
1
2
となっていた場合に、以下のような値の集合(Set)が返されます。
null
1
2
ここで気をつける必要があるのは、nullも「null値」として値の一種として扱われることです。
item引数で指定した項目がnull可項目の場合は、結果の値Set中にはnull要素が含まれる可能性があります。
この値Setからnull要素を排除した結果がほしい場合は&Trimディレクティブを使用して下さい。
引数:
- target引数:Group,Portfolio,Collection,Observable配列
- item引数:現象型のKeyまたは文字列
返値:
- target引数のGroup,Portfolio,Observable配列,Observableリストからitemの現象型の値を取得し、値の重複のないSetを取得する。
- target引数がGroupでitem引数が、数値文字列、Numberクラスのときは、item引数を位置情報として、Groupクラスから求める。
- target引数がnullの場合は、nullを返す。
例: AサービスセッションキーのList内の会計部門Noを重複なくしてサービスセッションキーCにSetクラスでセットする。
C &Distinct:{ @A } { 会計部門No }
|
|
Div
|
引数を二つとり、最初の引数/二番目の引数を返す。
書式:
&Div:{ s1 }{ s2 }
&Div:{ s1 }{ s2 }{ scale }
&Div:{ s1 }{ s2 }{ scale }{ round }
引数:
- s1引数:割り算対象のjava.lang.Numberオブジェクト
- s2引数:Numberオブジェクトもしくは文字列(数値を表すもののみ)を持つことができる。
- scale引数:s1引数がBigDecimalの値の場合に、割り算結果の小数点以下の桁数を指定する。(省略可)
- round引数:s1引数がBigDecimalの値の場合に、割り算結果の丸めモードを指定する。(省略可)
- CEILING : 正の無限大に近づくように丸めるモードです。
- DOWN : 0に近づくように丸めるモードです。(いわゆる切り捨て)
- FLOOR : 負の無限大に近づくように丸めるモードです。
- HALF_DOWN : 「もっとも近い数字」に丸めるモードです。ただし、両隣りの数字が等距離の場合は切り捨てます。
- HALF_EVEN : 「もっとも近い数字」 に丸める丸めモードです。ただし、両隣りの数字が等距離の場合は偶数側に丸めます。
- HALF_UP : 「もっとも近い数字」に丸めるモードです。ただし、両隣りの数字が等距離の場合は切り上げます。
- UNNECESSARY : 要求される演算の結果が正確であり、丸めが必要でないことを表す丸めモードです。
- UP : 0から離れるように丸めるモードです。(いわゆる切り上げ)
scale引数およびround引数は省略可能。ただし、round引数指定時はscale引数は必須。
scale引数省略時は、java.math.BigDecimalのデフォルト動作s1.scale()が返値のスケールとなります。
round引数省略時は、「HALF_UP」を指定した場合と同じ動作になります。
返値:
- s1引数と同じNumberのクラスで、s1引数とs2引数の割り算の結果を返す。
- s1引数がnullの場合は、nullを返す。
例:A/BサービスセッションキーのNumberを割り算して,サービスセッションキーCにセットする。
C &Div:{ @A }{@ B }
例:BigDecimalの値をscaleで小数点桁数5に指定して割り算する
C &Div:{ @A }{@ B }{ 5 }
例:BigDecimalの値をscaleで小数点桁数5に指定して、丸めモードを切り捨て(DOWN)で割り算する
C &Div:{ @A }{@ B }{ 5 }{ DOWN }
|
|
FillString
|
文字列を指定文字数までパディングして返す。
書式:
&FillString:{ sourceString }{ length }{ alignment}{ fillChar }
引数:
- sourceString :パディングした文字列、または文字列に変換できるObject
- length :パディング後の文字列長
- alignment :(省略可)sourceStringの位置[RIGHT/LEFT]。デフォルトはLEFT
- fillChar :(省略可)パディングする文字。デフォルトはスペース
返値:
- sourceStringがStringの場合は、fillCharでパディングした文字列を返す。
- sourceStringがObjectの場合は、toString()したものをfillCharでパディングした文字列を返す。
- sourceStringがnullの場合は、指定の長さのfillChar文字列を返す。
例:
C &FillString:{@A}{10}{RIGHT}{0}
|
|
FilterAnd
|
2つのモデルフィルタをandで連結した結果のフィルタオブジェクトを生成して返す。
書式:
&FilterAnd:{ leftFilter }{ rightFilter }
引数:
- leftFilter引数 : andの左側になるFilterまたは、ServiceSessionObservableFilterまたは、Filter文字列
- rightFilter引数 : andの右側になるFilterまたは、ServiceSessionObservableFilterまたは、Filter文字列
返値:
- 2つのモデルフィルタをandで連結した結果のフィルタオブジェクト
- leftFilter引数、rightFilter引数のどちらかもしくは両方がnullの場合は、nullを返す。
例:
and連結フィルタ "&FilterAnd:{RemovedFlag = NOT_REMOVED}{ValidityFlag = VALID}"
|
|
FilterOr
|
2つのモデルフィルタをorで連結した結果のフィルタオブジェクトを生成して返す。
書式:
&FilterOr:{ leftFilter }{ rightFilter }
引数:
- leftFilter引数 : orの左側になるFilterまたは、ServiceSessionObservableFilterまたは、Filter文字列
- rightFilter引数 : orの右側になるFilterまたは、ServiceSessionObservableFilterまたは、Filter文字列
返値:
- 2つのモデルフィルタをorで連結した結果のフィルタオブジェクト
- leftFilter引数、rightFilter引数のどちらかもしくは両方がnullの場合は、nullを返す。
例:
or連結フィルタ "&FilterOr:{RemovedFlag = NOT_REMOVED}{ValidityFlag = VALID}"
|
|
First
|
リストの先頭のアイテムを返す。
書式:
&First:{target}
引数:
- target引数:Portfolio,Collection,配列
返値:
- target引数のPortfolio,配列,Collectionから先頭のitemを取得し返す。
- target引数がnullの場合は、nullを返す。
例:AサービスセッションキーのList内の先頭アイテムをサービスセッションキーCでセットする。
C &First:{ @A }
|
|
FirstDateOfBeforeWeek
|
指定日の先週の開始日をjava.util.Dateで返す
書式:
&FirstDateOfBeforeWeek:{ date }
引数:
- date引数:判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateの先週の開始日を表すjava.util.Dateオブジェクト。(基本的に日曜日)
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:先週の開始日を取得する場合
先週の開始日 "&FirstDateOfBeforeWeek:{&Today}"
もしその日が2008/03/07の場合は、java.util.Dateで"2008/02/24 00:00:00"が取得できる。
|
|
FirstDateOfNextWeek
|
指定日の来週の開始日をjava.util.Dateで返す
書式:
&FirstDateOfNextWeek:{ date }
引数:
- date引数:判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateの来週の開始日を表すjava.util.Dateオブジェクト。(基本的に日曜日)
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:来週の開始日を取得する場合
来週の開始日 "&FirstDateOfNextWeek:{&Today}"
もしその日が2008/03/07の場合は、java.util.Dateで"2008/03/09 00:00:00"が取得できる。
|
|
FirstDateOfWeek
|
指定日の週の開始日をjava.util.Dateで返す
書式:
&FirstDateOfWeek:{ date }
引数:
- date引数:判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateの週の開始日を表すjava.util.Dateオブジェクト。(基本的に日曜日)
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:今週の開始日(基本的に日曜日)を取得する場合
今週の開始日 "&FirstDateOfWeek:{&Today}"
もしその日が2008/03/07の場合は、java.util.Dateで"2008/03/02 00:00:00"が取得できる。
|
|
FirstDateOfBeforeMonth
|
指定日の先月の開始日をjava.util.Dateで返す
書式:
&FirstDateOfBeforeMonth:{ date }
引数:
- date引数:判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateの先月の開始日を表すjava.util.Dateオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:先週の開始日を取得する場合
先週の開始日 "&FirstDateOfBeforeMonth:{&Today}"
もしその日が2008/03/07の場合は、java.util.Dateで"2008/02/01 00:00:00"が取得できる。
|
|
FirstDateOfMonth
|
指定日の月の開始日をjava.util.Dateで返す
書式:
&FirstDateOfMonth:{ date }
引数:
- date引数:判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateの月の開始日を表すjava.util.Dateオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:今月の開始日を取得する場合
今月の開始日 "&FirstDateOfWeek:{&Today}"
もしその日が2008/03/07の場合は、java.util.Dateで"2008/03/01 00:00:00"が取得できる。
|
|
FirstDateOfNextMonth
|
指定日の来月の開始日をjava.util.Dateで返す
書式:
&FirstDateOfNextMonth:{ date }
引数:
- date引数:判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateの来月の開始日を表すjava.util.Dateオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:来月の開始日を取得する場合
来月の開始日 "&FirstDateOfNextMonth:{&Today}"
もしその日が2008/03/07の場合は、java.util.Dateで"2008/04/01 00:00:00"が取得できる。
|
|
Date
|
指定日の00:00:00を表すjava.util.Dateを返す
書式:
&Date:{ date }
引数:
- date引数:00:00:00に変換したいjava.util.Dateオブジェクト。
返値:
- dateの00:00:00を表すjava.util.Dateオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:今日の00:00:00を取得する場合
今日の00:00:00 "&Date:{&Today}"
もしその日が2008/03/07の場合は、java.util.Dateで"2008/03/07 00:00:00"が取得できる。
|
|
DecimalFormat
|
数値に対して、任意のフォーマットを適用した結果の文字列を返す。
書式:
&DecimalFormat:{ formatString }{ number }
引数:
- formatString引数 : 適用するフォーマットを指定する。必須。
- number引数 : フォーマットを適用したい数値(java.lang.Numberオブジェクト)を指定する。必須。
返値:
- 数値に対してフォーマットを適用した結果の文字列。
- formatString引数がnullの場合はエラーを返す。
- number引数がjava.lang.Number以外の値の場合はエラーを返す。
- number引数がnullの場合はnullを返す。
例:シーケンサーで採番した数値にフォーマットを適用してID文字列を作成する
ID "&DecimalFormat:{STA_000000}{&Sequencer:{ActivityID}}"
上記の場合、Sequencerで採番された値が"101"のNumberオブジェクトの場合は"STA_000101"という文字列が取得できる。
|
|
AsValue
|
指定された現象型の値に変換した値を返す。。
書式:
&AsValue:{ ptypeName }{ valueString }
引数:
- ptypeName引数 : 適用する現象型名を指定する。必須。
- valueString引数 : 現象型の型に変換したい任意の値(一般的には文字列)を指定する。必須。
返値:
- 現象型の値の型に対応した値。
- ptypeName引数がnullの場合はnullを返す。
- ptypeName引数に対応する現象型が存在しない場合はnullを返す。
- valueString引数がnullの場合はnullを返す。
例:PhenomenonType(Proxy)を返す。
ID "&AsValue:{SampleProxy1}{100}"
上記の場合、SampleProxy1の型で値が100が取得できる。
|
|
Gengo
|
評価時の日付の和暦(元号)をjava.lang.Stringで返す。
書式:
&Gengo
引数:なし
返値:
- 評価時の日付の和暦(元号)をjava.lang.Stringで返す。
例:Cサービスセッションキーに元号をセットする。
C &Gengo
|
|
Get
|
リストの指定位置のアイテムを返す。
書式:
&Get:{ target }{ item }
引数:
- target引数:Portfolio,Collection,配列
- item引数:取得したいアイテムの位置(インデックス)を表すNumberクラスまたは、数値文字列(0,1,...n)
返値:
- target引数のPortfolio,配列,Collectionからitemで指定された位置のitemを取得し返す。
- target引数がnullの場合は、nullを返す。
例:AサービスセッションキーのList内3番目(インデックスとしては2)のitemをサービスセッションキーCにSetクラスでセットする。
C &Get:{ @A } { 2 }
|
|
GetAbsolutePathForWeb
|
Webサーバー内の、ルートからのパス指定から絶対パスを取得し、そのパス名を返す。(Pexa5.2以降)
設定フォルダは、パラメータまたは、JNDI設定のWebルート及びパラメータoutsidepathの合成して生成する。
本ディレクティブはサーバーサイドのサービスでのみ実行する。
書式:
&GetAbsolutePathForWeb:{ source file name }{ outside path}
引数:
- source file name引数:設定対象のソースファイル名を表す文字列(URI文字列も可)、ファイル拡張子は必須(必須)
- outside path引数:設定対象ファイルを格納するディレクトリ名を表す文字列、'.'も指定可(非必須)
outside path引数の省略時はJNDIの設定local_jndi_saveのwebserver.file.document.outside.pathを使用。
source file name引数で先頭が"http:","https:","ftp:"の場合は、URI文字列として認識し、ホスト名等のネット関連情報を削除して、パス名だけを使用する
返値:
- 出力ファイル絶対パス名を表すjava.lang.String
例:webルート+'xdf/'+Bに指定された文字列をファイル名とした文字列群をもとにファイル絶対パス名のjava.lang.StringをCに返す
C &GetAbsolutePathForWeb:{ @B }{ xdf }
|
|
GetAfterBusinessDay
|
指定日を基準してN日後の営業日をカレンダー機能から取得してjava.util.Dateで返す。
カレンダー機能についてはSupportFrameworkのガイドを参照。
書式:
&GetAfterBusinessDay:{ calendar_name }{ base }{ offset }{ session_keys }
引数:
- calendar_name引数:カレンダ機能経由で参照するカレンダ名の指定(String)
- base引数:営業日を取得する基準となる日付(java.util.Date)
- offset引数:base引数の日から何日後の営業日を取得するかの指定(String, Integer)
- session_keys引数:カレンダスキーマで記述されている検索フィルタに与えるセッション値キー。複数のキーを指定する場合は半角スペースで区切る。(省略可)
返値:
- カレンダ機能のgetAfterBusinessDayメソッドの返値として取得したjava.util.Date
例:自社カレンダを参照して、今日を基準として3営業日後の日付を返す。検索条件は無し。
format_type session
(session
(session_keys
自社3営業日後 "&GetAfterBusinessDay:{自社カレンダ}{&Today}{3}"
)
)
例:取引先カレンダを参照して、ある取引先の今日を基準として翌営業日の日付を返す。検索条件パラメータは1つ。
format_type session
(session
(session_keys
得意先No @得意先マスタ/得意先No
取引先翌営業日 "&GetAfterBusinessDay:{取引先カレンダ}{&Today}{1}{得意先No}"
)
)
例:銀行カレンダを参照して、ある銀行の今日を基準として翌営業日の日付を返す。検索条件パラメータは2つ。
format_type session
(session
(session_keys
銀行No @支払先マスタ/銀行No
支店No @支払先マスタ/支店No
銀行翌営業日 "&GetAfterBusinessDay:{銀行カレンダ}{&Today}{1}{銀行No 支店No}"
)
)
|
|
GetBeforeBusinessDay
|
指定日を基準してN日前の営業日をカレンダー機能から取得してjava.util.Dateで返す。
カレンダー機能についてはSupportFrameworkのガイドを参照。
書式:
&GetBeforeBusinessDay:{ calendar_name }{ base }{ offset }{ session_keys }
引数:
- calendar_name引数:カレンダ機能経由で参照するカレンダ名の指定(String)
- base引数:営業日を取得する基準となる日付(java.util.Date)
- offset引数:base引数の日から何日前の営業日を取得するかの指定(String, Integer)
- session_keys引数:カレンダスキーマで記述されている検索フィルタに与えるセッション値キー。複数のキーを指定する場合は半角スペースで区切る。(省略可)
返値:
- カレンダ機能のgetBeforeBusinessDayメソッドの返値として取得したjava.util.Date
例:自社カレンダを参照して、今日を基準として3営業日前の日付を返す。検索条件は無し。
format_type session
(session
(session_keys
自社3営業日前 "&GetBeforeBusinessDay:{自社カレンダ}{&Today}{3}"
)
)
例:取引先カレンダを参照して、ある取引先の今日を基準として前営業日の日付を返す。検索条件パラメータは1つ。
format_type session
(session
(session_keys
得意先No @得意先マスタ/得意先No
取引先前営業日 "&GetBeforeBusinessDay:{取引先カレンダ}{&Today}{1}{得意先No}"
)
)
例:銀行カレンダを参照して、ある銀行の今日を基準として前営業日の日付を返す。検索条件パラメータは2つ。
format_type session
(session
(session_keys
銀行No @支払先マスタ/銀行No
支店No @支払先マスタ/支店No
銀行前営業日 "&GetBeforeBusinessDay:{銀行カレンダ}{&Today}{1}{銀行No 支店No}"
)
)
|
|
GetBusinessDayOfFromTo
|
指定された期間内の営業日日数をカレンダー機能から取得してjava.lang.Integerで返す。
カレンダー機能についてはSupportFrameworkのガイドを参照。
書式:
&GetBusinessDayOfFromTo:{ CalendarName }{ from }{ to }{ session_keys }
引数:
- calendar_name引数:カレンダ機能経由で参照するカレンダ名の指定(String)
- from引数:営業日数を求めるための範囲を表す日付値(java.util.Date)
- to引数:営業日数を求めるための範囲を表す日付値(java.util.Date)
- session_keys引数:カレンダスキーマで記述されている検索フィルタに与えるセッション値キー。複数のキーを指定する場合は半角スペースで区切る。(省略可)
返値:
- カレンダ機能のgetBusinessDayOfFromToメソッドの返値として取得したjava.lang.Integer
例:fromを3/1,toを3/5とする。休日が[3/3],[3/4]の場合、営業日は[3/1],[3/2],[3/5]の3日間となる。
format_type session
(session
(session_keys
営業日日数 "&GetBusinessDayOfFromTo:{自社カレンダ}{&AsDate:{2012/03/01}}{&AsDate:{2012/03/05}}"
)
)
|
|
GetHoliDayListOfFromTo
|
指定された期間内の休日リストをカレンダー機能から取得して、Collection<Map>として返す。
カレンダー機能についてはSupportFrameworkのガイドを参照。
書式:
&GetHoliDayListOfFromTo:{ CalendarName }{ from }{ to }{ session_keys }
引数:
- calendar_name引数:カレンダ機能経由で参照するカレンダ名の指定(String)
- from引数:休日リストを求めるための範囲を表す日付値(java.util.Date)
- to引数:休日リストを求めるための範囲を表す日付値(java.util.Date)
- session_keys引数:カレンダスキーマで記述されている検索フィルタに与えるセッション値キー。複数のキーを指定する場合は半角スペースで区切る。(省略可)
返値:
- カレンダ機能のgetBusinessDayOfFromToメソッドの返値として取得したCollection<Map>
- Mapに含まれる情報は下記の3業務項目となります。
- PexaKeys.KEY_CalendarTargetDate 休日の日付
- PexaKeys.KEY_CalendarDescription 休日の説明
- PexaKeys.KEY_CalendarFallOnSundayFlag 振替休日の指定(振替休日の場合はCalendarFallOnSundayFlag.SUBSTITUTEがセットされます。)
例:fromを3/1,toを3/5とする。
format_type session
(session
(session_keys
休日リスト "&GetHoliDayListOfFromTo:{自社カレンダ}{&AsDate:{2012/03/01}}{&AsDate:{2012/03/05}}"
)
)
|
|
Age
|
指定された日付から年齢を取得してjava.lang.Integerで返す。
書式:
&Age:{ birthday }{ evaluate_date }
引数:
- birthday引数:誕生年月日(java.util.Date)
- evaluate_date引数:評価する対象の年月日(java.util.Date)
返値:
- 評価日時点での年齢java.lang.Integer
例:birthdayを2000/04/01,evaluate_dateを2003/04/01とする。評価日が誕生日に達しているので、年齢は3になる
format_type session
(session
(session_keys
年齢 "&Age:{&AsDate:{2000/04/01}}{&AsDate:{2003/04/01}}"
)
)
|
|
GetObservation
|
ターゲットモデルが持つ現象型の値をCondition付きで参照する。
数種類のConditionをあらかじめセッション上に作成した上でProcedure項目を参照したい場合等に使用してください。
書式:
&GetObservation:{ TargetModel }{ PhenomenonTypeName }{ Condition(Optional) }
引数:
- TargetModel引数:値の取得元データモデル。
- PhenomenonTypeName引数:TargetModel引数のデータモデルから値を取得したい現象型名。
- Condition引数:非必須。Procedureに渡したいConditionを表すObservable。
返値:
- 指定された現象型の値
- TargetModel引数、PhenomenonTypeName引数がnullの場合は、nullを返す。
例:AセッションキーのデータモデルからBセッションキーの現象型の値をCセッションキーに返す
C &GetObservation:{ @A } { @B }
例:AセッションキーのデータモデルからBセッションキーの現象型の値をCセッションキーのCondition付きで呼び出してDセッションキーに返す
D &GetObservation:{ @A } { @B } { @C }
|
|
GetTime
|
日時の特定値をIntegerで返す。
書式:
&GetTime:{ date }{ position }
引数:
- date引数:取得対象の日時値オブジェクト(Dateクラス)
- position引数:取得位置を表すの値オブジェクト(Stringクラス)引数は省略可、省略時は時刻部分の秒数を返します。
- YEAR:年をIntegerで返す。
- MONTH:月をIntegerで返す。但し、1月は0になります。
- DAY:日ををIntegerで返す。
- HOUR:時ををIntegerで返す。
- MINUTE:分をIntegerで返す。
- MIN:分をIntegerで返す。
- SECOND:秒をIntegerで返す。
- SEC:秒をIntegerで返す。
- MILLISECOND:ミリ秒をIntegerで返す。
- MSEC:ミリ秒をIntegerで返す。
返値:
例:DATEサービスセッションキーの内容の分をサービスセッションキーDにセットする。
D &GetTime:{ @DATE }{ MINUTE }
例:DATE="2012/10/01:11:22:33.567",PositionがMINUTEの場合
取得結果="22"となる。
|
|
GetValue
|
ターゲットマップの指定キーの値を返す。
書式:
&GetValue:{ target }{ item }
引数:
- target引数:Portfolio,Mapクラス
- item引数:target引数がMapの時は、Mapに対するキーの値をセット、Portfolioのときは、ObservableProxyをセット
返値:
- MapのKeyに対応する値または、PortfolioのObservableProxyに対応する値を返す。
- target引数がnullの場合は、nullを返す。
例:AサービスセッションキーのMap内キー"AA"のitemをサービスセッションキーCにセットする。
C &GetValue:{ @A } { AA }
|
|
GroupBy
|
軸となる項目の名前を指定してPortfolioをグループ化して返す。
書式:
&GroupBy:{ portfolio }{ PhenomenonTypeName1 }{ PhenomenonTypeName2 }....{ PhenomenonTypeNameN }
引数:
- portfolio引数 : groupByを行う対象のポートフォリオ。
- PhenomenonTypeName1...N引数 : groupBy実行時の軸となる業務項目名。Stringもしくはpexa.share.util.Keyで指定する。
返値:
- 指定された項目名でgroupByを実行した結果を格納したpexa.share.support.portfolio.Groupオブジェクト
- portfolio引数がnullの場合はnullを返す。
- PhenomenonTypeName1...N引数がnullの場合はnullを返す。
例:"targetPortfolio"に対して"税目"と"徴収区分"という項目を軸としてGroupByを実行する
resultOfGroupBy "&GroupBy:{@targetPortfolio}{税目}{徴収区分}"
|
|
GroupByPhenomenonTypeNames
|
軸となる項目名リストを指定してPortfolioをグループ化して返す。
書式:
&GroupByPhenomenonTypeNames:{ portfolio }{ PhenomenonTypeNames }
引数:
- portfolio引数 : groupByを行う対象のポートフォリオ。
- PhenomenonTypeNames引数 : groupBy実行時の軸となる、業務項目名集合。Stringもしくはpexa.share.util.Keyの配列もしくはリストになる。
返値:
- 指定された項目名リストでgroupByを実行した結果を格納したpexa.share.support.portfolio.Groupオブジェクト
- portfolio引数がnullの場合はnullを返す。
- PhenomenonTypeNames引数がnullの場合はnullを返す。
例:"targetPortfolio"に対して"ptypeNames"で指定された項目名リストでGroupByを実行する
resultOfGroupBy "&GroupByPhenomenonTypeNames:{@targetPortfolio}{@ptypeNames}"
|
|
GroupItem
|
グループから指定キーの値を返す。
書式:
&GroupItem:{ group }{ key }
引数:
- group引数 : 値の取得元のpexa.share.support.portfolio.Groupを指定
- key引数 : GroupKeyのList or 配列
返値:
- グループから指定キーの値を返す。
- group引数がnullの場合は、nullを返す。
例:AサービスセッションキーのGroupから指定キーを持つアイテムをサービスセッションキーCにセットする。
C &GroupItem:{ @A } { @Key }
|
|
GroupPortfolios
|
グループからPortfolioの一覧を返す。
書式:
&GroupPortfolios:{ group }
引数:
- group引数 : ポートフォリオ取得元のpexa.share.support.portfolio.Groupを指定
返値:
- Groupに格納されているpexa.share.support.portfolio.Portfolioを格納したjava.util.List
- group引数がnullの場合はnullを返す。
例:GroupByの実行結果からPortfolioのリストを取得する
portfolios "&GroupPortfolios:{@resultOfGroupBy}"
|
|
IdentSeqStr
|
IdentifiedProxyコンストラクト用の文字列を返す。
書式:
&IdentSeqStr:{ seqName }{ IdentifedFlag }
引数:
- 引数の型:seqName引数はObject
- IdentifedFlag引数はObject
返値:
- seqName引数の文字列のSequencerからの値とIdentifedFlagの文字列からなるIdentifiedProxyコンストラクト用の文字列を返す。
- 引数がnullの場合は、nullを返す。
例:Aサービスセッションキーの文字列のから取得したSequencer値とAAの結合文字列ムをサービスセッションキーCにセットする。
C &IdentSeqStr:{@A}{AA}
|
|
ImperialYear
|
評価時の日付の和暦(年)をjava.lang.Integerで返す。
書式:
&ImperialYear
引数:なし
返値:
- 評価時の日付の和暦(年)をjava.lang.Integerで返す。
例:Cサービスセッションキーに和暦(年)をセットする。
C &ImperialYear
|
|
In
|
基準MODELSの各要素について評価対象MODELSに存在(equals)した場合、Boolean.TRUEを返す。
書式:
&In:{ 基準MODELS }{ 評価対象MODELS }{ filter }
引数:
- 基準MODELS引数:内容判定の基準となるモデル集合
- 評価対象MODELS引数:内容を判定したいモデル集合
- Filter引数:省略可。集合に含まれるモデルを比較する際の条件式。
返値:
- 基準MODELS, 評価対象MODELSを上記の基準で比較した結果をBooleanで返す。
- Filter引数が省略された場合、基準MODELSの各要素について評価対象MODELSに存在(equals)した場合、Boolean.TRUEを返す。
(&Muchと異なり、基準MODELSの評価対象MODELSの数が一致している必要は無い)
- Filter引数が指定された場合、基準MODELSの各MODELをパラメータにfilterを生成して、評価対象MODELSに存在した場合BOOLEAN.TRUEを返す。
(&Muchと異なり、基準MODELSの評価対象MODELSの数が一致している必要は無い)
- 上記以外の場合はBoolean.FALSEになる。
- 基準MODELSがnullなら評価不能としてエラーとする。
- 評価対象MODELSがnullならBoolean値でFALSEで返す。
例:Filter引数無しの場合
比較結果 "&In:{@SearchResultList}{@EditedList}"
例:Filter引数有りの場合
比較結果 "&In:{@SearchResultList}{@EditedList}{Quantity=$Quantity}"
$Quantityの部分が基準MODELS(この場合は@SearchResultList)の要素の値によって展開される。
|
|
Inc
|
引数を一つとりそれを+1して返す。
書式:
&Inc:{ p1 }
引数:
- p1引数:インクリメントするNumberオブジェクト
返値:
- 引数と同じNumberクラスで引数の値を+1して返す。
- 変換ではLongクラスを使用しているため、整数で計算されます。
- 引数が、nullの場合は、nullを返す。
例:Aサービスセッションキーの内容を+1してサービスセッションキーCにセットする。
C &Inc:{ @A }
|
|
IndexOf
|
文字列内の指定文字列の位置を取得し返す。
書式:
&IndexOf:{ sourceStirng }{ searchStirng }{ startPos }
引数:
- sourceStirng引数は、文字列(toString()で取得できるもの)
- searchStirng引数は、文字列(toString()で取得できるもの)
- startPos引数は、Number、Stringクラス(Stringは数値文字列)省略可
返値:
- 型:Integerクラス
- sourceStirng引数の文字列内のsearchStirng引数の文字列が含まれる位置を返す。
- startPos引数以外がnullの場合は、nullを返す。
例:
|
|
InsertItem
|
ターゲットリストの指定インデックスに指定アイテムを挿入する。
書式:
&InsertItem:{ targetList }{ insertItem }{ insertIndex }
引数:
- targetList引数:操作対象Listとなる、java.util.List
- insertItem引数:targetListに挿入する任意のオブジェクト
- insertIndex引数:insertItemの挿入インデックスを表すIntegerやString等
返値:
- targetListにinsertItemを挿入した結果のjava.util.List。
- もしtargetList、insertItem、insertIdexがnullの場合は、nullを返す。
例:@AListに対して、@AItemをインデックス@AIndexに挿入して、サービスセッションキーCに追加後のListをセットする。
C &InsertItem:{@AList}{@AItem}{@AIndex}
|
|
Last
|
リストの最後のアイテムを返す。
書式:
&Last:{ target }
引数:
- target引数:Portfolio,Collection,配列
返値:
- targetのPortfolio,配列,Collectionから最後のitemを取得し返す。
- target引数がnullの場合は、nullを返す。
例:AサービスセッションキーのList内の最後アイテムをサービスセッションキーCにセットする。
C &Last:{ @A }
|
|
LastIndexOf
|
文字列内の指定文字列の最後の位置を取得し返す。
書式:
&LastIndexOf:{ sourceStirng }{ searchStirng }{ startPos }
引数:
- sourceStirng引数:文字列(toString()で取得できるもの)
- searchStirng引数:文字列(toString()で取得できるもの)
- startPos引数:Number、Stringクラス(Stringは数値文字列)省略可
返値:
- 型:Integerクラス
- sourceStirng引数の文字列内のsearchStirng引数の文字列が最後に含まれる位置を返す。
- startPos引数を指定したときは、その位置以降の文字列を検索する。
- startPos引数以外がnullの場合は、nullを返す。
例:Aサービスセッションキーの文字列内の"AA"の位置をサービスセッションキーCにセットする。
C &LastIndexOf:{ @A }{ AA }
|
|
List
|
空のListを生成し返す。
書式:
&List:{size}
引数:
- size引数は、Numberまたは数値文字列、省略可
返値:
例:空のリストををサービスセッションキーCにセットする。
C &List
|
|
Length
|
文字列の文字数をカウントしてjava.lang.Integerで返す。
書式:
&Length:{ sourceString }
引数:
- sourceString引数:文字数を数えたい文字列。
返値:
- sourceStringの文字数を表すjava.lang.Integer。全角文字でも半角文字でも1文字として数える。
- sourceStringがnullの場合は、nullを返す。
- sourceStringがString以外のオブジェクトの場合はエラーを返す。
例:
文字数 "&Length:{@文字数が知りたい文字列}"
|
|
ListIndexOf
|
リスト内の指定オブジェクトの位置を取得して返す。
書式:
&ListIndexOf:{ targetList }{ targetItem }
引数:
- targetList引数:インデックスチェック対象Listとなる、java.util.List
- targetItem引数:targetList内の位置(インデックス)を知りたいオブジェクト
返値:
- インデックスを表すjava.lang.Integer。
- もしtargetListやtargetItemがnullの場合は、nullを返す。
例:@AList内の@AItemの位置(格納インデックス)を取得して、セッションキーCにセットする。
C &ListIndexOf:{@AList}{@AItem}
|
|
Map
|
空のMapを生成し返す。
書式:
&Map:{size}
引数:
- size引数は、Numberまたは数値文字列、省略可
返値:
例:空のMapををサービスセッションキーCにセットする。
C &Map
|
|
MapKeySet
|
ターゲットマップに格納されているキーの集合をSetとして返す。
書式:
&MapKeySet:{ map }
引数:
- map引数 : キー集合を取得したいターゲットのマップ。
返値:
- 指定されたMapに格納されているキーの集合。Setとして返される。
- map引数がnullの場合はnullを返す。
例:"cacheMap"というセッションキーで保持されているマップからキー集合を取得する。
CacheKeys "&MapKeySet:{@cacheMap}"
|
|
MapValues
|
ターゲットマップに格納されている値の集合をListとして返す。
書式:
&MapValues:{ map }
引数:
- map引数 : 値の集合を取得したいターゲットのマップ。
返値:
- 指定されたMapに格納されている値の集合。Listとして返される。
- map引数がnullの場合はnullを返す。
例:"cacheMap"というセッションキーで保持されているマップから値の集合を取得する。
CacheValues "&MapValues:{@cacheMap}"
|
|
Max
|
リスト内の最大値を返す。
書式:
&Max:{ target }
引数:
返値:
- target引数のCollection、配列内の各値の最大値を返す。
- Collection,配列の要素はComparableである必要がある。
- target引数がnullの場合は、nullを返す。
例:Aサービスセッションキーリスト内の最大値をサービスセッションキーCにセットする。
C &Max:{ @A }
|
|
MessageDigest
|
パスワード・キーワードを基に指定のアルゴリズムを使用して暗号化文字列を返す。
Java.security.MessageDigestを利用して暗号化を行います。
書式:
&MessageDigest:{ target }{ keyword }{ algorithm }
引数:
- target引数はパスワードの文字列(必須)
- keyword引数は暗号化のキーワード文字列(必須)
- algorithm引数は環濠かアルゴリズム名文字列(MD2/MD5/SHA-1/SHA-256/SHA-384)省略時はMD5です。(非必須)
返値:
例:S1サービスセッション内のパスワード、固定キーワード・暗号化アルゴリズムSHA-256で暗号化文字列サービスセッションキーSWにセットする。
SW &MessageDigest:{@S1}{'PexaWorks2'}{'SHA-256'}
|
|
Min
|
リスト内の最小値を返す。
書式:
&Min:{ target }
引数:
返値:
- target引数のCollection、配列内の各値の最小値を返す。
- Collection,配列の要素はComparableである必要がある。
- target引数がnullの場合は、nullを返す。
例:Aサービスセッションキーリスト内の最小値をサービスセッションキーCにセットする。
C &Min:{ @A }
|
|
MonthOfYear
|
指定日がその年の何月かをpexa.share.util.business.MonthOfYearで取得する
書式:
&MonthOfYear:{ date }
引数:
- date引数:判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateがその年の第何週目であるかを表すpexa.share.util.business.MonthOfYearオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:今日がその年の何月かを取得する場合
今日がその年の何月か "&WeekOfMonth:{&Today}"
もしその日が2008/03/07の場合は、MonthOfYear.MARCHが取得される。
|
|
MonthOfFromTo
|
指定の2つの日付間が何ヶ月かをjava.lang.Integerで取得する
書式:
&MonthOfFromTo:{ from }{ to }
引数:
- from引数:月数を取得したい日付のfrom側をあらわすpexa.share.util.cont.YearMonthオブジェクト。
- to引数:月数を取得したい日付のto側をあらわすpexa.share.util.cont.YearMonthオブジェクト。
返値:
- fromとtoの間が何ヶ月あるかを表すjava.lang.Integer値
- from, toがnullの場合は、nullを返す。
- from, toがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:発注月から今月までに経過した月数を取得する
発注後経過月数 "&MonthOfFromTo:{@発注月}{@今月}"
@発注月が2014/1で今月が2015/3の場合はjava.lang.Integerで"14"を返す。
|
|
Much
|
基準MODELSと評価対象MODELSの内容が一致すればBOOLEAN.TRUEを返す。
書式:
&Much:{ 基準MODELS }{ 評価対象MODELS }{ Filter }
引数:
- 基準MODELS引数:内容判定の基準となるモデル集合
- 評価対象MODELS引数:内容を判定したいモデル集合
- Filter引数:省略可。集合に含まれるモデルを比較する際の条件式。
返値:
- 基準MODELS, 評価対象MODELSを上記の基準で比較した結果をBooleanで返す。
- Filter引数が省略された場合、基準MODELSと評価対象MODELSに含まれるObservableの内容を比較して数が一致かつ、
基準MODELSの各要素毎にequalsな要素が評価対象MODELSにあった場合はBoolean.TRUEを返す。
- Filter引数が指定された場合、基準MODELSと評価対象MODELSに含まれるObservableの内容を比較して数が一致かつ、
基準MODELSの各要素毎に基準MODELSの現象型値を展開したFilterを評価して真になる要素が評価対象MODELSにあった場合はBoolean.TRUEを返す。
- 上記以外の場合はBoolean.FALSEになる。
- 基準MODELSがnullなら評価不能としてエラーとする。
- 評価対象MODELSがnullならBoolean値でFALSEで返す。
例:Filter引数無しの場合
比較結果 "&Much:{@SearchResultList}{@EditedList}"
例:Filter引数有りの場合
比較結果 "&Much:{@SearchResultList}{@EditedList}{Quantity=$Quantity}"
$Quantityの部分が基準MODELS(この場合は@SearchResultList)の要素の値によって展開される。
|
|
Mul
|
引数を二つとり、最初の引数の結果*二番目の引数結果を返す。
書式:
&Mul:{ s1 }{ s2 }
引数:
- s1引数:java.lang.Numberのサブクラス
- s2引数:Numberもしくは文字列(数値を表すもののみ)
返値:
- s1引数と同じNumberのクラスでs1引数とs2引数の掛算の結果を返す。
- s1引数がnullの場合は、nullを返す。
- s1がBigDecimal時返値のスケールは、java.math.BigDecimalのデフォルト動作(s1.scale() + s2.scale())となります。
例:A/BサービスセッションキーのNumberを掛算して,サービスセッションキーCにセットする。
C &Mul:{ @A } {@ B }
|
|
Neg
|
引数を一つとり、その引数の符号を反転した内容を返す。
書式:
&Neg:{ p1 }
引数:
返値:
- p1引数と同じNumberクラスでp1引数の値の符号を反転して返す。
- p1引数がnullの場合は、nullを返す。
例:Aサービスセッションキーの内容を符号反転してサービスセッションキーCにセットする。
C &Neg:{ @A }
|
|
NextDay
|
評価時の翌日かつam00:00:00のjava.util.Dateを返す。
書式:
&NextDay
引数:
返値:
- 評価時の翌日かつam00:00:00のDateオブジェクトを返す。
例:翌日のDateクラスをサービスセッションキーCにセットする。
C &NextDay
|
|
NotIn
|
基準MODELSの各要素について評価対象MODELSに存在(equals)した場合、Boolean.FALSEを返す。(&Inの逆)
書式:
&NotIn:{ 基準MODELS }{ 評価対象MODELS }{ filter }
引数:
- 基準MODELS引数:内容判定の基準となるモデル集合
- 評価対象MODELS引数:内容を判定したいモデル集合
- Filter引数:省略可。集合に含まれるモデルを比較する際の条件式。
返値:
- 基準MODELS, 評価対象MODELSを上記の基準で比較した結果をBooleanで返す。
- Filter引数が省略された場合、基準MODELSの各要素について評価対象MODELSに存在(equals)した場合、Boolean.FALSEを返す。
(&Muchと異なり、基準MODELSの評価対象MODELSの数が一致している必要は無い)
- Filter引数が指定された場合、基準MODELSの各MODELをパラメータにfilterを生成して、評価対象MODELSに存在した場合BOOLEAN.FALSEを返す。
(&Muchと異なり、基準MODELSの評価対象MODELSの数が一致している必要は無い)
- 上記以外の場合はBoolean.TRUEになる。
- 基準MODELSがnullなら評価不能としてエラーとする。
- 評価対象MODELSがnullならBoolean値でTRUEで返す。
例:Filter引数無しの場合
比較結果 "&NotIn:{@SearchResultList}{@EditedList}"
例:Filter引数有りの場合
比較結果 "&NotIn:{@SearchResultList}{@EditedList}{Quantity=$Quantity}"
$Quantityの部分が基準MODELS(この場合は@SearchResultList)の要素の値によって展開される。
|
|
NotMuch
|
基準MODELSと評価対象MODELSの内容が一致したらBOOLEAN.FALSEで返す。(&Muchの逆)
書式:
&NotMuch:{ 基準MODELS }{ 評価対象MODELS }{ Filter }
引数:
- 基準MODELS引数:内容判定の基準となるモデル集合
- 評価対象MODELS引数:内容を判定したいモデル集合
- Filter引数:省略可。集合に含まれるモデルを比較する際の条件式。
返値:
- 基準MODELS, 評価対象MODELSを上記の基準で比較した結果をBooleanで返す。
- Filter引数が省略された場合、基準MODELSと評価対象MODELSの数が一致していないか、一致していても基準MODELSの各要素に
equalsな要素が評価対象MODELSに無い場合にBOOLEAN.TRUEで返す。
- Filter引数が指定された場合、基準MODELSと評価対象MODELSの数が一致していないか、一致していても基準MODELSの各要素を
パラメータに導出したfilterに対して評価対象のMODELSにfilterの評価が真になる要素が一つも無い場合にBOOLEAN.TRUEを返す。
- 上記以外の場合はBoolean.FALSEになる。
- 基準MODELSがnullなら評価不能としてエラーとする。
- 評価対象MODELSがnullならBoolean値でTRUEで返す。
例:Filter引数無しの場合
比較結果 "&NotMuch:{@SearchResultList}{@EditedList}"
例:Filter引数有りの場合
比較結果 "&NotMuch:{@SearchResultList}{@EditedList}{Quantity=$Quantity}"
$Quantityの部分が基準MODELS(この場合は@SearchResultList)の要素の値によって展開される。
|
|
Now
|
評価時の日時を表すjava.util.Dateを返す。
書式:
&Now
引数:
返値:
- 評価時の日時を表すjava.util.Dateを返す。
例:評価時の日時のDateクラスをサービスセッションキーCにセットする。
>C &Now
例:作成日サービスセッションが評価時の日時以降かを比較する
filter "@作成日 >= &Now"
|
|
Null
|
nullを返す。
書式:
&Null
引数:
返値:
- nullを返す。
- mapping,sessionの項目設定例外処理時("|"の後)で指定すると、何もしないことを表す。
- ServiceSession条件式では使用できない。
例:サービスセッションキーCにNullをセットする。
C &Null
|
|
ObservableProxy
|
ターゲットモデルのプライマリキー値(Proxyオブジェクト)を取得する。
書式:
&ObservableProxy:{ target_model }
引数:
- target_model引数:プライマリキー値を取得したいデータモデル
返値:
- target_model引数で指定されたデータモデルのプライマリキー値(Proxyオブジェクト)を返す。
- target_model引数がnullの場合はnullを返す。
例:AキーのデータモデルのProxyオブジェクトをBキーに返す
B &ObservableProxy:{ @A }
|
|
Path
|
Modelにパス式(現象型のみの指定を含む)を適用した結果を返す。
書式:
&Path:{ model(models) }{ path }
引数:
- model(models)引数 : パス式を適用する対象の単体モデル、もしくはモデル集合(リストなど)。
- path引数 : モデルに対して適用する現象型パス式。そのモデルが持つ現象型のみの指定も可。
返値:
- パス式をモデルに適用した結果取得された現象型の値
- 単体モデルに対してパスを適用した場合、パス中にMultipleの現象型が含まれるかどうかで結果が単値になるか複数値が決まります。
- モデル集合に対してパスを適用した場合、結果は必ず複数値になります。
- modelがnullの場合は、値はnullになる。
- pathがnullの場合は、エラーになる。
例1 : 単体モデルに対してパス式でモデル作成者の名前を取得
パス適用結果(単値) "&Path:{@Order}{Creator/UserName}"
例2 : モデル集合に対してパス式でOrderNoのリストを取得
パス適用結果(複数値) "&Path:{@OrderList}{OrderNo}"
|
|
PhenomenonTypeNameKeys
|
引数で指定されたデータモデルが持つ現象型のキー配列を返す。
書式:
&PhenomenonTypeNameKeys:{ source }
引数:
- source引数:現象型キー配列の取得元のObservable,Portfolio
返値:
- source引数で指定されたデータモデルが持つ現象型のキー配列
例:セッション上に保持されているデータモデルから現象型キー配列を取得
PtypeKeys &PhenomenonTypeNameKeys:{@データモデル}
|
|
Portfolio
|
新規のPortfolioを生成し返す。
書式:
&Portfolio:{ filter(optional) }{prefetch(optional) }{ distinct(optional) }
引数:
- filter引数:Portfolioが対象を絞り込むためのFilter文字列もしくはFilterオブジェクト(省略可)
- prefetch引数:Portfolioがprefetchする現象型名のString,String[],Setオブジェクト(省略可)
- disinct引数:Portfolioがdistinctする現象型名のString,String[],Setオブジェクト(省略可)
返値:
- 変換対象を、指定引数のPortfolioクラス生成し、Portfolioクラスを返す。
例:PortfolioクラスでサービスセッションキーCにセットする。
C &Portfolio
|
|
PortfolioObservables
|
Portfolioに格納されているデータモデルの一覧を返す。
書式:
&PortfolioObservables:{ portfolio }
引数:
- portfolio引数 : データモデルを取り出したいpexa.share.support.portfolio.Portfolioを指定
返値:
- Portfolioに格納されているデータモデルを格納したjava.util.List
- portfolio引数がnullの場合はnullを返す。
例:Portfolioから元データのリストを取得する
SourceDataModelList "&PortfolioObservables:{@portfolio}"
|
|
PrimaryKeyName
|
ターゲットモデルのプライマリキー項目名を取得する。
書式:
&PrimaryKeyName:{ target_model }
引数:
- target_model引数:プライマリキー項目名を取得したいデータモデル
返値:
- target_model引数で指定されたデータモデルのプライマリキー項目名(String)を返す。
- target_model引数がnullの場合はnullを返す。
例:Aキーのデータモデルのプライマリキー項目名をBキーに返す
B &PrimaryKeyName:{ @A }
|
|
Property
|
実行時パラメータやpexa_plugins.entryファイル中の設定値を取得する。
このDirectiveは、アプリケーションに対するパラメータ値を取得するために使用します。
以下の順番で、指定されたプロパティキーの値を探します。
- アプリケーション実行時のJVM起動パラメータ(-Dxxxと指定されるパラメータ)
- pexa_plugins.entryファイル(リポジトリ中のsrc/plugins/pexa_plugins.entry)
書式:
&Property:{ propertyKey }
引数:
- propertyKey引数 : 取得したいプロパティ値のキー。必須。
返値:
- 指定されたキーの値。値は文字列、Map、Listのいずれかとなる。
- propertyKey引数がnullの場合はエラーを返す。
例:"restriction_model_name"というキーでJVMパラメータもしくはpexa_plugins.entryファイルから取得する
RestrictionModelName "&Property:{restriction_model_name}"
|
|
Proxy
|
指定されたProxyオブジェクトを採番して返す。Identified付きにも対応。
書式:
&Proxy:{ ProxyPtpyeName }{ IdentifiedString }
引数:
- ProxyPtpyeName引数 : Proxy現象型名を指定する。必須。
- IdentifiedString引数 : Identifiedが付かないProxyの場合は省略する。Identified付きのProxyの場合は、Identified値の文字列表現を指定する。
返値:
- 採番された結果のProxyオブジェクト
- ProxyPtpyeName引数がnullの場合はエラーを返す。
- Identified付きのProxyなのにIdentifiedString引数がnullの場合はエラーを返す。
例:
OrderNo "&Proxy:{OrderNo}{PRESCRIPTION}"
|
|
Put
|
マップにキー、値をセットして返す。
書式:
&Put:{ TargetMap }{ Key }{ Value }
引数:
- TargetMap引数:key,valueをputする対象のMap
- Key引数:putするキーオブジェクト
- Value引数:putする値オブジェクト
返値:
- target引数のMpにkey,value引数の値をセットし、その結果のMapを返す。
- Key,Value引数が、nullの場合は、TargetMapをそのまま返す。
例:AサービスセッションキーのMapにB,Dサービスセッションキーの値をセットし、サービスセッションキーCにセットする。
C &Put:{ @A } {@ B }{ @D }
|
|
RandomString
|
乱数文字列の生成し、その文字列を返す。
書式:
&RandomString:{ size }{ CharacterType }
引数:
- size引数:生成する乱数文字列サイズ 数値または数値文字列 必須
- CharacterType引数:生成乱数文字列の文字種指定。省略時は"an"、任意
- a : アルファベットのみ
- n : 数値のみ
- an : アルファベット数値のみ
- ascii : アスキー文字
返値:
- 乱数文字列をjava.lang.Stringで返す。
例:乱数文字列をStringとしてCに返す
C &RandomString:{16}{an}
|
|
Read
|
ファイルを読み込んで、その内容を返す。
テキストファイルとして読み込んでjava.lang.Stringで返すか、
バイナリファイルとして読み込んでpexa.share.util.cont.Binaryで返すかをtype指定できる
書式:
&Read:{ file }{ type }{ encoding }
引数:
- file引数:読み込み対象のファイルを表す文字列(絶対パス指定)もしくはjava.io.File
- type引数:読み込みタイプの指定。以下の2つが指定できる。
- String : テキストファイルとして読み込む。
- Binary : バイナリファイルとして読み込む。
- encoding引数:type引数がStringの場合に読み込みエンコーディングを指定する。(省略可)
encoding引数の省略時はプラットフォームのデフォルトエンコーディングで読み込まれる。
返値:
- type引数がStringの場合は、読み込み結果をjava.lang.Stringで返す。
- type引数がBinaryの場合は、読み込み結果をpexa.share.util.cont.Binaryで返す。
例:Aファイルの内容をUTF-8エンコーディングでStringとして読み込んでCに返す
C &Read:{ @A }{ String }{ UTF-8 }
例:Aファイルの内容をBinaryとして読み込んでCに返す
C &Read:{ @A }{ Binary }
|
|
ReplaceString
|
文字列を置換して返す。
書式:
&ReplaceString:{ sourceString }{ fromString }{ toString }
引数:
- sourceString :置換する文字列または、文字列に変換できるObject
- fromString :置換前の文字列または正規表現
- toString :置換後の文字列
返値:
- sourceStringがStringの場合は、全fromStringをtoStringに置換した文字列を返す。
- sourceStringがObjectの場合は、toString()したものの全fromStringをtoStringに置換した文字列を返す。
- sourceStringがnullの場合は、nullを返す。
例:
C &ReplaceString:{@A}{ABC}{ZZ}
|
|
Rem
|
引数を二つとり、最初の引数 % 二番目の引数を返す。(余剰計算)
書式:
&Rem:{ s1 }{ s2 }
&Rem:{ s1 }{ s2 }{ precision }
&Rem:{ s1 }{ s2 }{ precision }{ round }
引数:
- s1引数:余剰計算対象のjava.lang.Numberオブジェクト
- s2引数:Numberオブジェクトもしくは文字列(数値を表すもののみ)を持つことができる。
- precision引数:s1引数がBigDecimalの値の場合に、余剰計算結果の精度を指定する。(省略可)
- round引数:s1引数がBigDecimalの値の場合に、余剰計算結果の丸めモードを指定する。(省略可)
- CEILING : 正の無限大に近づくように丸めるモードです。
- DOWN : 0に近づくように丸めるモードです。(いわゆる切り捨て)
- FLOOR : 負の無限大に近づくように丸めるモードです。
- HALF_DOWN : 「もっとも近い数字」に丸めるモードです。ただし、両隣りの数字が等距離の場合は切り捨てます。
- HALF_EVEN : 「もっとも近い数字」 に丸める丸めモードです。ただし、両隣りの数字が等距離の場合は偶数側に丸めます。
- HALF_UP : 「もっとも近い数字」に丸めるモードです。ただし、両隣りの数字が等距離の場合は切り上げます。
- UNNECESSARY : 要求される演算の結果が正確であり、丸めが必要でないことを表す丸めモードです。
- UP : 0から離れるように丸めるモードです。(いわゆる切り上げ)
precision引数およびround引数は省略可能。ただし、round引数指定時はprecision引数は必須。
round引数省略時は、「HALF_UP」を指定した場合と同じ動作になります。
返値:
- s1引数と同じNumberのクラスで、s1引数とs2引数の余剰計算の結果(割り算の余り)を返す。
- s1引数がnullの場合は、nullを返す。
例:A/BサービスセッションキーのNumberを余剰計算して,サービスセッションキーCにセットする。
C &Rem:{ @A }{@ B }
例:BigDecimalの値をprecisionで5に指定して余剰計算する
C &Rem:{ @A }{@ B }{ 5 }
例:BigDecimalの値をprecisionで5に指定して、丸めモードを切り捨て(DOWN)で余剰計算する
C &Rem:{ @A }{@ B }{ 5 }{ DOWN }
|
|
Remove
|
リストから指定位置のアイテムを削除する。
書式:
&Remove:{ Source }{ Position }
引数:
- Source引数:List,Portfolioクラス
- Position引数:Numberクラス、数値文字列
返値:
- Source引数の指定位置の要素を削除し、削除した要素を返す。
- Source引数がnullの場合は、nullを返す。
例:AサービスセッションキーのListの2番目の要素を削除して,削除した要素をサービスセッションキーCにセットする。
C &Remove:{ @A } { 2 }
|
|
RemoveAllItem
|
リストから指定アイテムリストと一致したものを削除して返す。
書式:
&&RemoveAllItem:{ target }{ item }
引数:
- target引数:操作対象のCollectionオブジェクト
- item引数:削除対象のアイテムが格納されているCollectionオブジェクト
返値:
- target引数のCollectionからitem引数のCollectionの要素を削除し、その結果のCollectionを返す。
- target引数がnullの場合は、nullを返す。
- item引数がnullの場合は、targetを返す。
例:AサービスセッションキーのCollectionからBサービスセッションキーのCollectionの要素を削除して,サービスセッションキーCにセットする。
C &RemoveAllItem:{ @A } { @B }
|
|
RemoveFile
|
ファイルを削除する。
書式:
&RemoveFile:{ file }
引数:
- file引数:削除対象のファイルを表す文字列(絶対パス指定)もしくはjava.io.File
返値:
- 削除対象のファイルを表す文字列(絶対パス)をjava.lang.Stringで返す。
例:Aに示されたファイルの削除する。
C &RemoveFile:{ @A }
|
|
RemoveFirst
|
リストの先頭のアイテムを削除して返す。
書式:
&RemoveFirst:{ Source }
引数:
- Source引数:操作対象のList,Portfolio
返値:
- Source引数の先頭の要素を削除し、結果を返す。
- Source引数がnullの場合は、nullを返す。
例:AサービスセッションキーのListの先頭の要素を削除して,サービスセッションキーCにセットする。
C &RemoveFirst:{ @A }
|
|
RemoveItem
|
リストから指定アイテムと一致したものを削除して返す。
書式:
&RemoveItem:{ target }{ item }
引数:
- target引数:操作対象のCollection
- item引数:targetから削除する対象のアイテム
返値:
- target引数のCollectionからitem引数の要素を削除し、結果のSourceを返す。
- target引数がnullの場合は、nullを返す。
- item引数がnullの場合は、targetを返す。
例:AサービスセッションキーのCollectionからBサービスセッションキーの要素を削除して,サービスセッションキーCにセットする。
C &RemoveItem:{ @A } { @B }
|
|
RemoveLast
|
リストの最後のアイテムを削除して返す。
書式:
&RemoveLast:{ Source }
引数:
- Source引数:操作対象のList,Portfolioクラス
返値:
- Source引数の最後の要素を削除し、結果のSourceを返す。
- Source引数がnullの場合は、nullを返す。
例:AサービスセッションキーのListの最後の要素を削除して,サービスセッションキーCにセットする。
C &RemoveLast:{ @A }
|
|
RemovePortfolio
|
Portfolioから指定アイテムと一致したものを削除して返す。
書式:
&RemovePortfolio:{ target }{ item }
引数:
- target引数:操作対象のPortfolio
- item引数:削除対象アイテム
返値:
- target引数のPortfolioからitem引数の要素を削除し、結果を返す。
- target引数が、nullの場合は、nullを返す。
- item引数が、nullの場合は、targetを返す。
例:AサービスセッションキーのPortfolioからBサービスセッションキーの要素を削除して,サービスセッションキーCにセットする。
C &RemovePortfolio:{ @A } { @B }
|
|
Return
|
対象のサービスを正常終了する。
書式:
&Return
引数:
動作:
- before_condition, after_conditionセクションのerrorで使用し、対象のサービスを正常終了する
例:
(before_condition
filter "@AAA is not null"
error &Return
)
|
|
Search
|
モデルの検索、ソート結果(optional)を返す。
注意:
このDirectiveは、前提条件や終了条件の判定でモデル検索が必要な場合にのみ使用すること!
SVOステートメントで表されるモデル操作処理の実装はこのディレクティブではなくサービスプロセスで表現してください。
書式:
&Search:{ modelName }{ filter }{ ext_filter }{ sortList }
引数:
- modelName引数 : 検索対象のモデル名の指定。必須。
- filter引数 : Storageに対する検索条件の指定。指定しない場合は空白(Parameterとしては必須)。
- ext_filter引数 : Storage対象外の検索条件。指定しない場合は空白(Parameterとしては必須)。
- sort_list引数 : ソート文字列のList(降順の場合は先頭に'~'をつける)。指定しない場合は、Parameterとしても省略可。
filter引数およびext_filter引数は無指定も可能だが、その場合は空白の括弧は付けること。
sort_list引数は括弧ごと省略することも可能。
返値:
例1 : 検索条件、ソート条件無しの場合
検索結果 "&Search:{ユーザーマスタ}{}{}"
例2 : Storageに対する検索条件あり、ソート条件無しの場合
検索結果 "&Search:{ユーザーマスタ}{RemovedFlag = NOT_REMOVED}{}"
例3 : Storageに対する検索条件あり、Storage対象外の検索条件あり、ソート条件無しの場合
検索結果 "&Search:{ユーザーマスタ}{RemovedFlag = NOT_REMOVED}{CurrentAge > 20}"
例4:検索条件、ソート条件有りの場合
検索結果 "&Search:{ユーザーマスタ}{RemovedFlag = NOT_REMOVED}{CurrentAge > 20}{FirstName, LastName}"
|
|
SeqMap
|
空のMap(順序保証有り)を生成し返す。
書式:
&SeqMap:{ size }
引数:
- size引数:Numberまたは数値文字列、省略可
返値:
例:空の順序保証有りMapををサービスセッションキーCにセットする。
C &SeqMap
|
|
Sequencer
|
指定した通番名のユニーク番号を返す。
書式:
&Sequencer:{ seqNqme }
引数:
返値:
- SequencerからseqName引数の文字列の通番名でユニーク番号を取得してNumberオブジェクトとして返す
- seqName引数がnullの場合は、nullを返す。
例:会計部門Noを通番名としてユニーク番号をサービスセッションキーCにセットする。
C &Sequencer:{ 会計部門No }
採番名を以下のようにすると自動的にCachedのSequencerとなる。(Pexa5.1以降で有効)
先頭が"#"で途中に"/"で挟んだ数値を指定する書式
例
C &Sequencer:{'#SEQ/1000/No2018'}
挟んだ数値がCache数となる。上記では1000。
|
|
SessionFilterAnd
|
2つのSession条件式フィルタをandで連結した結果のフィルタオブジェクトを生成して返す。
書式:
&SessionFilterAnd:{ leftFilter }{ rightFilter }
引数:
- leftFilter引数 : andの左側になるFilterまたは、ServiceSessionFilterまたは、SessionFilter文字列
- rightFilter引数 : andの右側になるFilterまたは、ServiceSessionFilterまたは、SessionFilter文字列
返値:
- 2つのSession条件式フィルタをandで連結した結果のフィルタオブジェクト
- leftFilter引数、rightFilter引数のどちらかもしくは両方がnullの場合は、nullを返す。
例:
and連結フィルタ "&SessionFilterAnd:{@SearchResultList is not null}{@SortRuleList is not null}"
|
|
SessionFilterOr
|
2つのSession条件式フィルタをorで連結した結果のフィルタオブジェクトを生成して返す。
書式:
&SessionFilterOr:{ leftFilter }{ rightFilter }
引数:
- leftFilter引数 : orの左側になるFilterまたは、ServiceSessionFilterまたは、SessionFilter文字列
- rightFilter引数 : orの右側になるFilterまたは、ServiceSessionFilterまたは、SessionFilter文字列
返値:
- 2つのSession条件式フィルタをorで連結した結果のフィルタオブジェクト
- leftFilter引数、rightFilter引数のどちらかもしくは両方がnullの場合は、nullを返す。
例:
or連結フィルタ "&SessionFilterOr:{@SearchResultList is not null}{@SortRuleList is not null}"
|
|
Set
|
空のSetを生成し返す。
書式:
&Set:{ size }
引数:
- size引数:Numberまたは数値文字列、省略可
返値:
例:空のSetをサービスセッションキーCにセットする。
C &Set
|
|
SetObservation
|
ターゲットモデルが持つ現象型にCondition付きで値を設定する。
値を設定する対象の現象型自体をパラメータ化したい場合や、
数種類のConditionをあらかじめセッション上に作成した上でTrigger付き項目に設定したい場合に使用してください。
書式:
&SetObservation:{ TargetModel }{ PhenomenonTypeName }{ Value }{ Condition(Optional) }
引数:
- TargetModel引数:値の取得元データモデル。
- PhenomenonTypeName引数:TargetModel引数のデータモデルへ値を設定したい現象型名。
- Value引数:TargetModel引数のPhenomenonTypeName引数の現象型に設定したい値。
- Condition引数:非必須。Triggerに渡したいConditionを表すObservable。
返値:
- 値が設定された結果のデータモデル
- TarSetModel引数、PhenomenonTypeName引数がnullの場合は値を設定しない
- Value引数がnullの場合はnull値が指定された現象型にを設定される
例:AセッションキーのデータモデルのBセッションキーの現象型にCセッションキーの値が設定されてDセッションキーに設定結果のデータモデルを返す
D &SetObservation:{ @A } { @B }{ @C }
例:AセッションキーのデータモデルのBセッションキーの現象型にCセッションキーの値がDセッションキーのCondition付きで設定されてEセッションキーに設定結果のデータモデルを返す
E &SetObservation:{ @A } { @B }{ @C }{ @D }
|
|
Size
|
引数を一つとり、リストの要素数を返す。
書式:
&Size:{ Source }
引数:
- Source引数は、Collection,Poefolio,Groupクラス、配列
返値:
- Source引数のオブジェクトに格納されている要素数を返す。
- Source引数がnullの場合は、nullを返す。
例:AサービスセッションキーのListの要素数をサービスセッションキーCにセットする。
>C &Size:{ @A }
|
|
Skip
|
対象のプロセス・サービスをスキップする。
書式:
&Skip
引数:
動作:
- before_condition,after_conditionのerrorで使用すると、対象のプロセス・サービスをスキップする。
- mapping,sessionの項目設定例外処理時("|"の後)で利用すると、その行の処理をスキップする。
例:conditionで指定
(before_condition
filter "@AAA is not null"
error &Skip
)
例:sessionで指定
(session
(session_keys
AAA "[@XXX is not null]@XXX|&Skip"
BBB "[@YYY is not null]@YYY|&Skip"
)
)
|
|
SnapCollection
|
Collection,配列から指定位置範囲の要素をCollection,配列で返す。
書式:
&SnapCollection:{ target }{ startPosition }{ endPosition }
引数:
- target引数:Collection,配列クラス
- startPosition引数:コピー範囲の開始位置、先頭を0として。
- endPosition引数:コピー範囲の終了位置、省略時はCollection,配列のサイズ分になる。省略可。
返値:
- target引数の内容から指定範囲の要素を持つCollection,配列を返す。
- target引数がCollectionのときは、結果としてCollectionで、配列の時は、結果として配列で戻す。
- target引数がnullの場合は、nullを返す。
例:Aサービスセッションキーリスト(Collection(Size10))をStartに2,Endに4をセットするとその結果としてA内の先頭を0番目として2番目・3番目の要素を入れたCollectionをサービスセッションキーCにセットする。
C &SnapCollection:{ @A }{ @Start }{ @End}
|
|
Sort
|
モデルリストを指定キーでソートして返す。
書式:
&Sort:{ target }{ PhenomenonTypeName1 }{ PhenomenonTypeName2 }...{ PhenomenonTypeNameN }
引数:
- target引数:モデルが格納されたCollection,配列,Portfolioクラス
- PhenomenonTypeName1...N引数:ソート条件にする現象型のKeyまたは文字列。降順にしたい場合は現象型名の前に「~」を付加する。
返値:
- target引数の内容を指定現象型でソートした結果を返す。
- targetのCollection,配列,Portfolioの要素はデータモデルである必要がある。
- target引数がnullの場合は、nullを返す。
注意:targetがPortfolioのCollectionでソート条件の現象型が数値の場合、比較される値は該当現象型の総和になります。
例:Aサービスセッションキーリスト(モデルリスト)を会計部門Noでソートしその結果をサービスセッションキーCにセットする。
C &Sort:{ @A }{ 会計部門No }
例:Aサービスセッションキーリスト(モデルリスト)を会計部門Noの降順でソートしその結果をサービスセッションキーCにセットする。
C &Sort:{ @A }{ ~会計部門No }
|
|
SortByPhenomenonTypeNames
|
モデルリストをソート項目名リストでソートして返す。
書式:
&SortByPhenomenonTypeNames:{ target }{ PhenomenonTypeNames }{ nullIsMinimum }
引数:
- target引数:モデルが格納されたCollection,配列,Portfolioクラス
- PhenomenonTypeNames引数:ソート条件となる現象型名を格納したリスト。リストの順番がそのままソート項目順を表す。降順にしたい場合は個々の現象型名の前に「~」を付加する。
- nullIsMinimum引数:比較値の片方がnullだった場合に、最小値扱いとするか最大値扱いとするかを指定できる。trueなら最小(デフォルト)、falseなら最大扱い。省略可。
返値:
- target引数の内容を指定現象型でソートした結果を返す。
- targetのCollection,配列,Portfolioの要素はデータモデルである必要がある。
- target引数がnullの場合は、nullを返す。
例:Aサービスセッションキーリスト(モデルリスト)をソート条件リストでソートしその結果をサービスセッションキーCにセットする。
C &SortByPhenomenonTypeNames:{ @A }{ @ソート条件リスト }
|
|
SpecialChar
|
特殊文字をjava.lang.Stringの値として返す。
サービス定義ファイルで書式として解釈されるような特殊文字で文字列連結などをしたい場合に利用する。
書式:
&SpecialChar:{ target }
引数:
- target引数:String値として取得したい特殊文字の指定。以下のいずれかを指定する。
- LF : 改行コード
- DQUOT : ダブルクオート(")
- SQUOT : シングルクオート(')
- AMP : アンパサンド(&)
- EXC : エクスクラメーションマーク(!)
- SPACE : 半角スペース
- COMMA : カンマ(,)
- DOT : ドット(.)
- COLON : コロン(:)
- SCOLON : セミコロン(;)
- SLASH : スラッシュ(/)
- AT : アットマーク(@)
- TAB : タブコード
- CR : キャリッジリターン
- EOF : EOF(0x1a)
返値:
- target引数で指定した特殊文字をjava.lang.Stringとして返す。
- target引数がnullの場合は、例外を返す。
例:Aサービスセッションキーに改行コードを追加した文字列をCセッションキーに格納する。
C &Cat:{ @A }{ &SpecialChar:{ LF } }
|
|
SplitStringToList
|
最初の引数の文字列を指定文字で分割してリストを返す。
書式:
&SplitStringToList:{ s1 }{ s2 }
引数:
- s1引数:文字列
- s2引数:セパレータ文字、省略時はカンマ(',')
返値:
- セパレータ文字で分割した文字列のリスト。
- s1引数がnullの場合は、nullを返す。
例:Aサービスセッションキーの文字列をカンマで分離し、リストとしてBにセットする。
B &SplitStringToList:{ @A }
|
|
StartOfBeforeMonth
|
評価時の前月の(1日)のam00:00:00を表すjava.util.Dateを返す。
書式:
&StartOfBeforeMonth
引数:
返値:
- 評価時の前月の(1日)かつam00:00:00を表すjava.util.Dateを返す。
例:前月の(1日)のDateクラスをサービスセッションキーCにセットする。
C &StartOfBeforeMonth
作成日サービスセッションが前月の(1日)以降かを比較する
filter "@作成日 >= &StartOfBeforeMonth"
|
|
StartOfMonth
|
評価時の月初(1日)のam00:00:00を表すjava.util.Dateを返す。
書式:
&StartOfMonth
引数:
返値:
- 評価時の月初の(1日)かつam00:00:00をjava.util.Dateを返す。
例:月初の(1日)のDateクラスをサービスセッションキーCにセットする。
C &StartOfMonth
例:作成日サービスセッションが月初の(1日)以降かを比較する
filter "@作成日 >= &StartOfMonth"
|
|
StartOfNextMonth
|
評価時の翌月の(1日)のam00:00:00を表すjava.util.Dateを返す。
書式:
&StartOfNextMonth
引数:
返値:
- 評価時の翌月の(1日)かつam00:00:00を表すjava.util.Dateを返す。
例:翌月の(1日)のDateクラスをサービスセッションキーCにセットする。
C &StartOfNextMonth
作成日サービスセッションが翌月の(1日)以降かを比較する
filter "@作成日 >= &StartOfNextMonth"
|
|
Sub
|
引数を二つとり、最初の引数の結果 - 二つ目の引数の結果を返す。
書式:
&Sub:{ s1 }{ s2 }
引数:
- s1引数:java.lang.Numberのサブクラス
- s2引数:Numberもしくは文字列(数値を表すもののみ)
返値:
- s1引数と同じNumberのクラスでs1引数とs2引数の引き算の結果を返す。
- s1引数がnullの場合は、nullを返す。
例:A/BサービスセッションキーのNumberを引き算して,サービスセッションキーCにセットする。
C &Sub:{ @A } {@ B }
|
|
Substring
|
最初の引数の文字列の指定位置部分文字列を返す。
書式:
&Substring:{ sourceString }{ startPos }{ endPos }
引数:
- sourceString引数:文字列、ObjectクラスのtoString()できるもの
- startPos引数:開始位置を表すNumberオブジェクト
- endPos引数:終了位置を表すNumberオブジェクト。省略化
返値:
- 最初の引数の文字列の指定位置部分文字列を返す。
- 引数が、nullの場合は、nullを返す。
例:Aサービスセッションキーの文字列の2文字目以降をサービスセッションキーCにセットする。
C &Substring:{ @A }{ 2 }
|
|
Sum
|
引数を一つとり、リストの要素の和を返す。
書式:
&Sum:{ target }
引数:
- target引数:和をとる要素を格納したCollection,配列
返値:
- target引数のオブジェクトに格納されている要素の合計を返す。
- Collection,配列の要素はNumber系オブジェクトである必要がある。
- target引数がnullの場合は、nullを返す。
例:Aサービスセッションキーリストの要素を合計しその結果をサービスセッションキーCにセットする。
C &Sum:{ @A }
|
|
ThisYearMonth
|
評価時の年月を表すpexa.share.util.cont.YearMonthを返す。
書式:
&ThisYearMonth
引数:
返値:
- 評価時の年月を表すpexa.share.util.cont.YearMonthを返す。
例:今月を表すのYearMonthオブジェクトをサービスセッションキーCにセットする。
C &ThisYearMonth
例:作成年月というセッション値が今月以降かを判定する
(before_condition
filter "@作成年月 >= &ThisYearMonth"
error &Skip
)
|
|
ThisYear
|
評価時の年月を表すpexa.share.util.cont.Yearを返す。
書式:
&ThisYear
引数:
返値:
- 評価時の年を表すpexa.share.util.cont.Yearを返す。
例:今年を表すのYearオブジェクトをサービスセッションキーCにセットする。
C &ThisYear
例:作成年というセッション値が今年以降かを判定する
(before_condition
filter "@作成年 >= &ThisYear"
error &Skip
)
|
|
Time
|
日時の特定値をDateクラスで返す。
書式:
&Time:{ date }{ position }
引数:
- date引数:取得対象の時刻値オブジェクト(Dateクラス)
- position引数:取得位置を表すの値オブジェクト(Stringクラス)引数は省略可、省略時は時刻部分すべてを返します。位置の名称を",/-"で連結すると複数の位置の値が返されます。
- HOUR:時ををDateで返す。
- MINUTE:分をDateで返す。
- MIN:分をDateで返す。
- SECOND:秒をDateで返す。
- SEC:秒をDateで返す。
- MILLISECOND:ミリ秒をDateで返す。
- MSEC:ミリ秒をDateで返す。
返値:
例:DATEサービスセッションキーの内容の分をサービスセッションキーDにセットする。
D &Time:{ @DATE }{ MINUTE }
例:DATE="2012/10/01:11:22:33.567",PositionがMINUTEの場合
取得結果="1970/01/01:00:22:00.000"となる。
D &Time:{ @DATE }{ HOUR/MINUTE }
例:DATE="2012/10/01:11:22:33.567",PositionがHOUR/MINUTEの場合
取得結果="1970/01/01:11:22:00.000"となる。
D &Time:{ @DATE }
例:DATE="2012/10/01:11:22:33.567",Positionが省略されたの場合
取得結果="1970/01/01:11:22:33.567"となる。
|
|
Today
|
評価時の日付かつam00:00:00を表すjava.util.Dateを返す。
書式:
&Today
引数:
返値:
- 評価時の日付のam00:00:00を表すjava.util.Dateを返す。
例:評価時日付のDateクラスをサービスセッションキーCにセットする。
C &Today
作成年月サービスセッションが評価時日付以降かを比較する
filter "@作成年月 >= &Today"
|
|
Translate
|
値オブジェクトをtranslatorで別の型(大抵はjava.lang.String)に変換して返す。
書式:
&Translate:{ target }{ translator }
引数:
- target引数 : translatorによって変換を行いたい値オブジェクトやデータモデルオブジェクト
- translator引数 : 使用するtranslatorの名前
このディレクティブは、主にデータモデルを別の形式に変換する場合に使用します。
translator引数でModelTranslatorを指定することで、データモデルに変換テンプレートを掛け合わせて文字列形式の何か(HTMLデータやXMLデータなど)に変換することが出来ます。
その場合、target引数には単体のデータモデルオブジェクトを指定してください。
データモデルを格納したリストや配列はtarget引数には指定できません。
リストや配列に格納されているデータモデルを変換する場合は、foreachプロセスで件数分ループしながら処理してください。
返値:
- translatorによって別の型に変換されたオブジェクト
- target引数がnullの場合は、nullを返す。
- translator引数がnullの場合は、エラーを返す。
例:データモデルを"Model2HTMLTranslator"というtranslatorでHTML文字列に変換して返す
データHTML "&Translate:{@TargetDataModel}{ModelToHTMLTranslator}"
|
|
Trim
|
引数を一つとり、集合に含まれるnull要素を削除した結果を返す。
書式:
&Trim:{ source }
引数:
- source引数 : トリム対象の文字列, 配列, Map, List, Set
このディレクティブは、文字列もしくは集合に対しての余分な要素の切り落としを行います。
source引数で文字列が渡された場合は、両端のホワイトスペースを切り落とした結果を返します。
source引数でMapやList,Set,配列が指定された場合は、その内部にnull要素(null値もしくはNullValue.NULL)が
含まれていないかチェックし、含まれてたらそれを切り落とした結果(内部要素の件数が減る方向になる)の新しいsourceオブジェクトを返します。
返値:
- source引数が文字列の場合は、両端のホワイトスペースを削除した結果の文字列を返す。
- source引数が配列の場合は、nullもしくはNullValueオブジェクトを排除した結果の配列を返す。
- source引数がMapの場合は、valueがnullもしくはNullValueオブジェクトのキーを排除した結果のMapを返す。
- source引数がListの場合は、nullもしくはNullValueオブジェクトを排除した結果のListを返す。
- source引数がSetの場合は、nullもしくはNullValueオブジェクトを排除した結果のSetを返す。
- source引数がnullの場合は、nullを返す。
例:&Distinctで取得した結果のSetからnull要素を排除した結果の件数を取得する
null要素を排除した結果の件数 "&Size:{&Trim:{&Distinct:{@TargetDataModel}}}"
|
|
TrimUniq
|
引数を一つとり、集合に含まれるnull要素・重複要素を削除した結果を返す。
書式:
&TrimUniq:{ source }
引数:
- source引数 : トリム対象の 配列, List, Set
このディレクティブは、集合に対しての余分な要素及び重複要素の切り落としを行います。
同一要素とは、集合の各要素を文字列化(.toString())で比較して重複化をチェックします。(ユニーク化))
source引数List,Set,配列が指定された場合は、その内部にnull要素(null値もしくはNullValue.NULL)が
含まれていないかチェックし、含まれてたらそれを切り落としたます。さらに要素を文字列化し既に存在している要素を削除し結果(内部要素の件数が減る方向になる)の新しいsourceオブジェクトを返します。
返値:
- source引数が配列の場合は、nullもしくはNullValueオブジェクトを排除し、ユニーク化した結果の配列を返す。
- source引数がListの場合は、nullもしくはNullValueオブジェクトを排除し、ユニーク化した結果のListを返す。
- source引数がSetの場合は、nullもしくはNullValueオブジェクトを排除し、ユニーク化した結果のSetを返す。
- source引数がnullの場合は、nullを返す。
例:Collectionから&TrimUniqでnull要素を排除し、ユニーク化した結果を取得する
C "&TrimUniq:{@MasterList/MasterNo}"
|
|
Write
|
ファイル出力して結果のjava.io.Fileを返す。
出力内容はjava.lang.Stringもしくはpexa.share.util.cont.Binaryで渡すことが出来る。
書式:
&Write:{ file }{ output }{ encoding }
引数:
- file引数:書き込み対象のファイルを表す文字列(絶対パス指定)もしくはjava.io.File
- output引数:書き込み内容を表すjava.lang.Stringもしくはpexa.share.util.cont.Binary
- encoding引数:output引数がStringの場合に出力エンコーディングを指定する。(省略可)
encoding引数の省略時はプラットフォームのデフォルトエンコーディングで書き込まれる。
返値:
例:AファイルにBの内容をUTF-8エンコーディングで書き込んで、対象ファイルのjava.io.FileをCに返す
C &Write:{ @A }{ @B }{ UTF-8 }
|
|
WriteBinaryForWeb
|
アプリケーションサーバーに自動保存するためにファイル名を自動生成し、ファイルのパス名をjava.lang.Stringで返す。
出力内容はjava.lang.String(DataURI形式(Base64))もしくはpexa.share.util.cont.Binaryで渡すことが出来る。
出力内容をコード変換等を実施せず、バイナリとしてファイルを生成する。
ファイル名はソースフィル名(ハッシュ値)・書き込み日時(ミリ秒単位)・シーケンス番号を組み合わせて作成する。
格納フォルダは、パラメータまたは、JNDI設定のWebルート及びパラメータoutsidepathの合成、及び書き込み年数値+年日数の2段ディレクトリを合成して自動的に生成する。
本ディレクティブはサーバーサイドのサービスでのみ実行する。
基本的にアップロードされたファイル内容をWebで表示できるようにするために使用する。
書式:
&WriteBinaryForWeb:{ output }{ source file name }{ outside path]{web doc root path}{real}
引数:
- output引数:書き込み内容を表すjava.lang.String(DataURI形式(Base64))もしくはpexa.share.util.cont.Binary(必須)
- source file name引数:書き込み対象のソースファイル名を表す文字列、ファイル拡張子は必須(必須)
- outside path引数:ファイルを格納するディレクトリ名を表す文字列(非必須)
- web doc root path引数:アプリケーションサーバーのWebルートを表す文字列(非必須)基本的にはJNDI設定を使用すること
- real引数:サーバー上の生成するファイル名を書き込み対象のソースファイル名にする。文字列"real"と記述すること(非必須)
outside path引数の省略時はJNDIの設定local_jndi_saveのwebserver.file.document.outside.pathを使用。
web doc root path引数の省略時はJNDIの設定local_jndi_saveのwebserver.file.document.webbase.pathを使用。
real引数に"real"指定時は、ディレクトリを自動生成し、その下に書き込み対象のソースファイル名を付けたファイルが生成される。
返値:
- 出力ファイルパス名を表すjava.lang.String
例:Bファイル名にBの内容をwebルート+'filesave/'+自動生成ファイル名で書き込んで、対象自動生成ファイルパス名のjava.lang.StringをCに返す
C &WriteBinaryForWeb:{ @A }{ @B }{ filesave }
例:サーバー上の生成ファイルを書き込み対象のソースファイル名にする
C &WriteBinaryForWeb:{ @A }{ @B }{ filesave }{}{real}
|
|
AsYearNum
|
指定日が西暦何年かをjava.lang.Integerで取得する
pexa4.7-dev33から追加になりました。
リターン値がYearクラスのものは&AsYearを使用してください。
書式:
&AsYearNum:{ date }
引数:
- date引数:判定したい日付を表すDate,YearMonth,Yearオブジェクト。
返値:
- dateが西暦何年であるかを表すjava.lang.Integerオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:今日が西暦何年かを取得する場合
今日が西暦何年か "&AsYearNum:{&Today}"
もしその日が2008/03/07の場合は、java.lang.Integerで"2008"が取得できる。
|
|
WeekOfMonth
|
指定日がその月の第何週目かをjava.lang.Integerで取得する
書式:
&WeekOfMonth:{ date }
引数:
- date引数:判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateがその月の第何週目であるかを表すjava.lang.Integerオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:今日がその月の第何週目かを取得する場合
今日がその月の何週名か "&WeekOfMonth:{&Today}"
もしその日が2008/03/07の場合は、java.lang.Integerで"2"が取得できる。
|
|
WeekOfYear
|
指定日がその年の第何週目かをjava.lang.Integerで取得する
書式:
&WeekOfYear:{ date }
引数:
- date引数:判定したい日付を表すjava.util.Dateオブジェクト。
返値:
- dateがその年の第何週目であるかを表すjava.lang.Integerオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:今日がその年の第何週目かを取得する場合
今日がその年の何週名か "&WeekOfMonth:{&Today}"
もしその日が2008/03/07の場合は、java.lang.Integerで"11"が取得できる。
|
|
Year
|
指定日が西暦何年かをjava.lang.Integerで取得する
書式:
&Year:{ date }
引数:
- date引数:判定したい日付を表すDateオブジェクト。
返値:
- dateが西暦何年であるかを表すjava.lang.Integerオブジェクト。
- dateがnullの場合は、nullを返す。
- dateがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:今日が西暦何年かを取得する場合
今日が西暦何年か "&Year:{&Today}"
もしその日が2008/03/07の場合は、java.lang.Integerで"2008"が取得できる。
|
|
YearOfFromTo
|
指定の2つの年が何年間かをjava.lang.Integerで取得する
書式:
&YearOfFromTo:{ from }{ to }
引数:
- from引数:年数を取得したい日付のfrom側をあらわすpexa.share.util.cont.Yearオブジェクト。
- to引数:年数を取得したい日付のto側をあらわすpexa.share.util.cont.Yearオブジェクト。
返値:
- fromとtoの間が何年間あるかを表すjava.lang.Integer値
- from, toがnullの場合は、nullを返す。
- from, toがjava.util.Date以外のオブジェクトの場合はエラーを返す。
例:発注年から今年までに経過した年数を取得する
発注後経過年数 "&YearOfFromTo:{@発注年}{@今年}"
@発注年が2014で今年が2025場合はjava.lang.Integerで"11"を返す。
|
|
ZipMoveFile
|
指定ファイルをZip圧縮して、Zip圧縮されたファイルのパス名を返す。
圧縮したZipファイルにはパスワードを設定することが可能です。
圧縮対象の指定ファイルを削除することが可能です。
指定ファイルに日本語が含まれた時のためにファイル名の文字コードを指定することが可能です。(展開するマシンがWindowsの場合はMS932を指定する)
書式:
&ZipMoveFile:{ Source File Name }{ delete/leave]{file name encode}{password}
引数:
- source file name引数:圧縮対象のソースファイル名を表す文字列(必須)
- delete/leave引数:圧縮対象のファイルを圧縮後に削除するかを表す文字列(非必須) 削除時はdelete、削除しないときはLeaveを指定 Defaultは削除しないになる。
- file name encode引数:圧縮ファイルのファイル名の文字コード(エンコード)を表す文字列(非必須)DefaultはMS932
- password引数:圧縮展開時のパスワードを表す文字列(非必須)Defaultはパスワードなし
返値:
- 出力ファイルパス名を表すjava.lang.String 圧縮対象ファイル名の後ろに".zip"が加わっている
例:Bファイルを圧縮し、Bファイルを削除する。パスワードとして@Cの値をセットする
C &ZipMoveFile:{ @B }{ Delete }{MS932}{@C}
|
|
ZipWrite
|
指定ソース(String,Binary)をZip圧縮して、Zip圧縮されたファイルのパス名を返す。
指定ソースははjava.lang.Stringもしくはpexa.share.util.cont.Binaryで渡すことが出来る。
圧縮したZipファイルにはパスワードを設定することが可能です。
指定ファイルに日本語が含まれた時のためにファイル名の文字コードを指定することが可能です。(展開するマシンがWindowsの場合はMS932を指定する)
書式:
&ZipWrite:{ source}{ File Name }{ encoding}{file name encode}{password}
引数:
- source引数:圧縮対象のソース(Stringまたは、pexa.share.util.cont.Binary)(必須)
- file name引数:圧縮対象のソースファイル名を表す文字列(必須)
- encoding引数:ソースがStringの時のファイル書き込み時の文字コード(エンコード)を表す文字列(非必須)DefaultはMS932
- file name encode引数:圧縮ファイルのファイル名の文字コード(エンコード)を表す文字列(非必須)DefaultはMS932
- password引数:圧縮展開時のパスワードを表す文字列(非必須)Defaultはパスワードなし
返値:
- 出力ファイルパス名を表すjava.lang.String 圧縮対象ファイル名の後ろに".zip"が加わっている
例:Aセッションの内容をBファイルに圧縮し、パスワードとして@Dの値をセットする
C &ZipWrite:{ @A }{ @B }{ MS932 }{@D}
|
|
|