PEXA Clientについて

チュートリアル

定義パターン

定義ファイル

リファレンス

目次

  1. はじめに
  2. doService命令
  3. if命令
  4. logging命令
  5. remove命令
  6. return命令
  7. set命令
  8. switch命令


はじめに

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

Hookとは、Notification定義で記述される通知の送信前/送信後の実行処理です。
NotificationのHook内では、サービスの呼び出し、値の設定、値の削除などに関する実行処理を行うことが出来ます。 また、条件判定による分岐も行うことが出来るので、簡単なスクリプト言語的な使い方が出来ます。

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

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


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>

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

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

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

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

  • inputServiceSession : サービスに対する入力項目
  • outputServiceSession : サービスからの出力項目
これらは省略することが出来ます。

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

inputServiceSessionタグ

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

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

属性値名 説明 形式 必須/非必須 参照記法可/不可
key サービスに渡す入力パラメータのキーを指定します。
省略された場合はitem属性で指定されるNotification項目IDがそのままパラメータキーとして使用されます。
文字列 省略可 不可
item サービスに渡す入力パラメータとなるNotification項目のIDを指定します。 文字列 必須 不可

outputServiceSessionタグ

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

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

属性値名 説明 形式 必須/非必須 参照記法可/不可
key サービスから受け取る出力パラメータのキーを指定します。
省略された場合はitem属性で指定されるNotification項目IDがそのままパラメータキーとして使用されます。
文字列 省略可 不可
item サービスからの出力項目を格納するNotification項目のIDを指定します。 文字列 必須 不可


set命令

記述例 :

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

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

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

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


remove命令

記述例 :

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

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

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

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

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


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を返すNotification項目などを指定します。
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="デバッグメッセージ"/>

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

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

pexa.client.std.interpreter.level = ALL

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

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


更新情報

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



Copyright © 2006, Atrris Corporation