PEXA Clientについて

チュートリアル

定義パターン

定義ファイル

リファレンス

目次

  1. はじめに
  2. clearOriginal命令
  3. doAction命令
  4. doService命令
  5. if命令
  6. logging命令
  7. remove命令
  8. removeValues命令
  9. return命令
  10. set命令
  11. setValues命令
  12. setSavePoint命令
  13. switch命令
  14. undo命令


はじめに

このドキュメントは、Actionのリファレンスです。

Actionとは、Content定義で記述される業務項目やサービスに関する実行処理です。
Contentのインスタンス生成時、破棄時、AreaのCommandからの呼び出し、Content項目のtrigger呼び出しなどを契機として実行されます。
ContentのAction内では、サービスの呼び出し、値の設定、値の削除などMVCモデルにおけるM(モデル)に関する実行処理を行うことが出来ます。 また、条件判定による分岐も行うことが出来るので、簡単なスクリプト言語的な使い方が出来ます。

Content定義については、こちらを参照してください。
また、文中にでてくる参照記法については、こちらを参照してください。

このリファレンスでは、Action内で使用できる各種実行命令の記述例やフォーマットなどを解説します。


doService命令

記述例 : ログイン処理を行うサービスを呼び出す

<action id="ログイン">
    <doService service="ログインする">
        <inputServiceSession>
            <inputValue key="利用者コード" item="ログインユーザー利用者コード"/>
            <inputValue key="利用者認証情報" item="ログインユーザー利用者認証情報"/>
            <inputValue item="会社No"/>
        </inputServiceSession>
        <outputServiceSession>
            <outputValue key="利用者情報" item="ログイン利用者情報"/>
            <outputValue item="ログイン会社情報"/>
            <outputValue item="ログイン部門情報"/>
        </outputServiceSession>
    </doService>
</command>
記述例 : CSV取り込みサービスを行い、エラーが返った場合はエラー内容を取得する
<action id="CSV取り込み実行">
    <doService service="CSV取り込みを行う">
        <inputServiceSession>
            <inputValue key="CSVデータ文字列" item="読み込みCSVデータ"/>
        </inputServiceSession>
        <outputServiceSession>
        </outputServiceSession>
        <errorServiceSession>
            <outputValue key="エラー情報リスト" item="エラー情報一覧"/>
        </errorServiceSession>
    </doService>
</command>

説明 :
サービス呼び出しを行う実行命令です。
呼び出すサービスの指定、サービスに対する入出力値の指定を行うことが出来ます。

以下の3つを入出力として指定することが出来ます。

サービスに対する入力値(inputServiceSession)
サービス呼び出しに当たり、サービスに対する入力値をContentItemから渡すことが出来ます。

サービスからの出力値(outputServiceSession)
呼び出したサービスが正常終了した後に受け取る出力値をContentItemに受け取ることが出来ます。

エラー発生時の出力値(errorServiceSession)
呼び出したサービスから、before_condition等の判定によってエラー(ServiceException)がthrowされた場合に、
そのServiceExceptionからエラー発生時のSession値をエラー出力値としてContentItemに受け取ることが出来ます。

属性値 :
doServiceタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
service 呼び出すサービスのIDを指定します。 文字列 必須 不可

オプション設定 :
doService命令のオプション設定として、以下の三つがあります。

これらは省略することが出来ます。

inputServiceSessionを省略した場合は、サービスに対しての入力項目は設定されません。
outputServiceSessionを省略した場合は、サービスからの出力項目はContentItemに取り込まれません。
errorServiceSessionを省略した場合は、サービスからのエラー出力項目はContentItemに取り込まれません。

inputServiceSessionタグ

サービスに対する入力項目を定義するオプション設定タグです。
子タグのinputValueタグを列挙して入力値の指定を行ってください。

inputValueタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
key サービスに渡す入力パラメータのキーを指定します。
省略された場合はitem属性で指定されるContent項目IDがそのままパラメータキーとして使用されます。
文字列 省略可 不可
item サービスに渡す入力パラメータとなるContent項目のIDを指定します。 文字列 必須 不可
required この項目の必須、非必須指定です。省略時は"false"となります。
assert文に近い働きをするバグチェック用の指定で、もしtrueの場合に値がnullだったらバグ扱いのエラーが発生します。
通常の、nullになることがあり得る項目については別途判定処理を各自で行ってください。
true,
false
非必須 不可

outputServiceSessionタグ

サービスからの出力項目を定義するオプション設定タグです。
子タグのoutputValueタグを列挙してサービスから受け取る出力値の指定を行ってください。 基本的には、サービスからの出力はデータモデルかデータモデルのリストになる場合がほとんどです。

outputValueタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
key サービスから受け取る出力パラメータのキーを指定します。
省略された場合はitem属性で指定されるContent項目IDがそのままパラメータキーとして使用されます。
文字列 省略可 不可
item サービスからの出力項目を格納するContent項目のIDを指定します。 文字列 必須 不可
required この項目の必須、非必須指定です。省略時は"false"となります。
assert文に近い働きをするバグチェック用の指定で、もしtrueの場合に値がnullだったらバグ扱いのエラーが発生します。
通常の、nullになることがあり得る項目については別途判定処理を各自で行ってください。
true,
false
非必須 不可

errorServiceSessionタグ

サービスからthrowされたエラーから受け取るエラー出力項目を定義するオプション設定タグです。
子タグのoutputValueタグを列挙してサービスのエラーから受け取る出力値の指定を行ってください。 outputValueタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
key サービスから受け取る出力パラメータのキーを指定します。
省略された場合はitem属性で指定されるContent項目IDがそのままパラメータキーとして使用されます。
文字列 省略可 不可
item サービスからの出力項目を格納するContent項目のIDを指定します。 文字列 必須 不可
required この項目の必須、非必須指定です。省略時は"false"となります。
assert文に近い働きをするバグチェック用の指定で、もしtrueの場合に値がnullだったらバグ扱いのエラーが発生します。
通常の、nullになることがあり得る項目については別途判定処理を各自で行ってください。
true,
false
非必須 不可


set命令

記述例 :

<set item="ログイン日時" value="calendar:TODAY"/>

説明 :
Content項目に対して値の設定を行う命令です。
設定先の指定はコンテント項目のみで、設定する値は参照記法を使用できます。

属性値 :
setタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
item 値の設定先のContent項目ID 文字列 必須 不可
value 設定する値の指定。 固定の文字列を直接書くか、参照記法で指定します。 文字列 必須


setValues命令

記述例 :

<setValues>
    <set item="ログイン日" value="calendar:TODAY"/>
    <set item="ログイン年月" value="calendar:THIS_MONTH"/>
    <set item="ログイン時刻" value="calendar:NOW"/>
</setValues>

説明 :
set命令を内部で一度に実行する命令です。
set命令は一度実行する毎にContentから更新イベントが送信されてしまいますが、 setValues命令を使用すると内部で羅列したset命令を全て実行した後で1回だけ更新イベントが送信されます。

この命令を使用することで、画面上に多くのGUIコンポーネントを持つ画面がパフォーマンスアップ場合があります。


remove命令

記述例 :

<remove item="ログイン日時"/>

説明 :
Content項目の値のクリアを行う命令です。
削除対象の指定はコンテント項目のみです。

この命令を使用すると、Content項目が初期状態に戻ります。対象のContent項目にloadやprocedureの指定があればそれらが有効になります。

属性値 :
removeタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
item 値の設定先のContent項目ID 文字列 必須 不可


removeValues命令

記述例 :

<removeValues>
    <remove item="ログイン日"/>
    <remove item="ログイン年月"/>
    <remove item="ログイン時刻"/>
</removeValues>

説明 :
remove命令を内部で一度に実行する命令です。
remove命令は一度実行する毎にContentから更新イベントが送信されてしまいますが、 removeValues命令を使用すると内部で羅列したremove命令を全て実行した後で1回だけ更新イベントが送信されます。

この命令を使用することで、画面上に多くのGUIコンポーネントを持つ画面がパフォーマンスアップ場合があります。


if命令

記述例 : 判定結果がtrueとfalseで違うアクション実行

<if condition="filter:[item:申請種別 = 仮払申請]" >
    <true>
        <doService service="サービスその1"/>
    </true>
    <false>
        <doService service="サービスその2"/>
    </false>
</if>

説明 :
条件判定による処理分岐を行う命令です。
condition属性で指定された条件の判定結果がtrueの場合、falseの場合で処理を分岐できます。 それぞれの実行内容を、ifタグの子タグのtrueタグ、falseタグの下に記述してください。 どちらか一方のみ(true時のみ、false時のみ処理を行う)でも可です。

属性値 :
ifタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
condition 判定条件の指定。
参照記法でfilterを指定するか、true/falseを返すContent項目などを指定します。
true,
false
必須

オプション設定 :
if命令のオプションとして、以下のタグがあります。
trueタグ、falseタグのどちらか一方は必ず記述します。

trueタグ

condition属性で指定された内容がtrueの場合に実行したい処理を、このタグの子タグとして記述します。
全てのCommand命令を記述することが出来ます。


falseタグ

condition属性で指定された内容がfalseの場合に実行したい処理を、このタグの子タグとして記述します。
全てのCommand命令を記述することが出来ます。



switch命令

記述例 : 値に応じて呼び出しサービスを変える

<switch condition="item:申請種別">
    <case value="ptype:申請種別/申請その1">
        <doService service="サービスその1"/>
    </case>
    <case value="ptype:申請種別/申請その2">
        <doService service="サービスその2"/>
    </case>
    <case value="ptype:申請種別/申請その3">
        <doService service="サービスその3"/>
    </case>
    <default>
        <doService service="サービスその4"/>
    </default>
</switch>

説明 :
値による処理分岐を行う命令です。
condition属性で指定された値が、caseタグのvalue属性で指定された値に一致した場合に、 該当のcaseタグの下にかかれた命令が実行されます。どれにも当てはまらない場合の実行内容は defaultタグの子タグとして記述できます。defaultタグは無くてもかまいません。

属性値 :
switchタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
condition 判定する値の指定
参照記法で、判定条件となる値を指定してください。
文字列 必須

オプション設定 :
switch命令のオプションとして、以下のタグがあります。
caseタグは必須、defaultタグは省略可です。

caseタグ

condition属性で指定された値と、このタグのvalue属性で指定された値が一致する場合に、 このタグの下に記述されている命令が実行されます。
全てのCommand命令を記述することが出来ます。
必要なだけ複数個列挙することが出来ます。

属性値名 説明 形式 必須/非必須 参照記法可/不可
value 分岐条件となる値の指定。
この値と、switchタグのcondition属性で指定された値が一致した場合に caseタグの下に記述された命令が実行されます。
文字列 必須

defaultタグ

どのcaseタグの条件にも当てはまらなかった場合の、デフォルトの処理内容を記述します。
全てのCommand命令を記述することが出来ます。
省略可能です。



return命令

記述例 :

<return />

説明 :
actionの実行を終了する命令です。
if命令やswitch命令による判定でactionを終了する必要がある場合に使用します。

属性値 :
returnタグには属性値はありません。


logging命令

記述例 :

<logging message="デバッグメッセージ"/>

説明 :
任意の内容をログ出力する命令です。
デバッグ時に、意図した処理ルートを通っているかやContent項目に正しい値が設定されているかなどを確認したい場合に使用して下さい。

なお、ここで指定されたログメッセージはCommons Logging APIに対してDEBUGレベルで送出されます。 ログ出力設定はログ実装によって異なりますが、JDK標準ロガーの場合は以下の設定をlogging.propertiesに追加してください。

pexa.client.std.interpreter.level = ALL

属性値 :
loggingタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
message ログ出力したい内容を指定します。
文字列の直接指定や参照記法が使用できます。
文字列 必須


clearOriginal命令

記述例 :

<clearOriginal item="申請書情報"/>

説明 :
データモデル(pexa.share.concept.Updatable)のclearOriginalメソッドを呼び出します。 これにより、データモデル内に保存されていた変更前の情報がクリアされます。
任意のタイミングでデータモデル内の変更履歴をクリアしたい場合に使用します。

属性値 :
clearOriginalタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
item clearOriginalを実行する対象のデータモデルを格納しているContent項目のIDを指定します。 文字列 必須 不可


setSavePoint命令

記述例 :

<setSavePoint item="申請書情報" savepoint="画面起動時"/>

説明 :
データモデル(pexa.share.concept.Updatable)のsetSavePointメソッドを呼び出します。 これにより、データモデルに対してロールバックポイントを設定することが出来ます。
編集画面等で、データモデルに対してメモリ上で編集を加えた後で画面閉じる場合などの、それまでの 編集をキャンセルする必要がある場合に、あらかじめ編集開始前に呼び出しておきます。

この命令は、undo命令と対で使用されます。 また、このセーブポイントは、一つのデータモデルに対して複数個指定できます。その場合はsavepoint属性で 別々の名前のセーブポイント名を割り振って下さい。そうすると、undo命令で任意のセーブポイントまでロールバック することができます。

属性値 :
setSavePointタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
item setSavePointを実行する対象のデータモデルを格納しているContent項目のIDを指定します。 文字列 必須 不可
savepoint セーブポイントの名称を指定します。undo命令実行時にここで指定したセーブポイントを指定できます。
省略時は名無しのセーブポイントがデータモデルに設定されます。
文字列 非必須 不可


undo命令

記述例 :

<undo item="申請書情報" savepoint="画面起動時"/>

説明 :
データモデル(pexa.share.concept.Updatable)のundoメソッドを呼び出します。 これにより、データモデルに対して行われた編集を、あらかじめ設定されていたポイントまでロールバックすることが出来ます。
編集画面等で、データモデルに対してメモリ上で編集を加えた後で画面閉じる場合などの、それまでの編集をキャンセルする 必要がある場合に、画面終了時にこの命令を呼び出します。その場合、あらかじめsetSavePoint命令でセーブポイントを 指定しておく必要があります。

この命令は、setSavePoint命令と対で使用されます。

属性値 :
undoタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
item undoを実行する対象のデータモデルを格納しているContent項目のIDを指定します。 文字列 必須 不可
savepoint undoするためのセーブポイントの名称を指定します。
省略時は直近のセーブポイントまでロールバックされます。
文字列 非必須 不可


doAction命令

記述例 :

<doAction action="共通検索処理"/>

説明 :
同じContent内に定義されている、別のアクションを呼び出します。
共通的なアクションを作成しておいて、それを関数的に呼び出すような使い方が出来ます。

属性値 :
doActionタグの属性値の意味は以下の通り。

属性値名 説明 形式 必須/非必須 参照記法可/不可
action 呼び出したいアクションのIDを指定します。 文字列 必須 不可


更新情報

  • 最終更新者 : $Author: morishita $
  • 最終更新日時 : $Date:: 2010-09-21 14:41:40 #$
  • バージョン : $Revision: 5381 $



Copyright © 2006, Atrris Corporation