PEXA Clientについて

チュートリアル

定義パターン

定義ファイル

リファレンス

目次

  1. はじめに
  2. 基本フォーマットについて
  3. calendar参照
  4. color参照
  5. content参照
  6. context参照
  7. filter参照
  8. global参照
  9. item参照
  10. locale参照
  11. map参照
  12. message参照
  13. notification参照
  14. number参照
  15. observable参照
  16. page参照
  17. preference参照
  18. ptype参照
  19. property参照
  20. proxy参照
  21. row参照
  22. size参照
  23. static参照
  24. system参照
  25. translator参照


はじめに

このドキュメントは、定義ファイル内で使用できる参照記法についてのリファレンスです。

参照記法とは、URI的な記述方法で様々なリソースに対するリンクを表現するものです。 Contentの項目であったり、Pageの名称やコンテキストであったり、プロパティに定義された値であったり、 様々なリソースに対するリンクが表現できるようになっています。

参照は、各々のリンク先に対応する実装クラスが存在します。標準でいくつかの参照実装が提供されますが、 プロジェクト固有の参照が必要な場合は、実装クラスを作成してプラグインプロパティに登録することで カスタムの参照を使用することが出来ます。

このドキュメントでは、標準で使用できる参照プロトコル及びそれぞれの固有フォーマットについて記述します。


基本フォーマットについて

参照記法の基本フォーマットは、「不透明」URIと言われる記法に基づいています。
これは、コロンより前の部分がスキーマ(リンク先の種別)を表し、コロンより後ろがスキーマ毎の固有フォーマットになる形式です。

基本フォーマット :

{スキーマ}:{スキーマ固有フォーマット}
例 :
content:CC_XXX_001_Login/ログインユーザーID
property:ログインタイトルヘッダー
ptype:ValidityFlag/VALID
なお、以降の固有フォーマットの説明においては、中括弧"{","}"で囲われた部分が参照したいリンク先に合わせて 記述する箇所で、カギ括弧で囲われていない箇所は固定になる部分を表します。


content参照

記述例 : テキストフィールドで取り扱うContent項目の指定

<TextField id="ユーザーIDテキストフィールド" text="content:CC_XXX_001/利用者コード"/>

説明 :
Contentの外部からContentにリンクする参照です。
Content定義で宣言されている項目をArea定義から読み書きすることができます。

固有フォーマット

content:{ContentのID}/{Content項目のID}


記述可能箇所

content参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特になし
Area定義 特になし
Content定義 不可 ContentのAction定義等でContent内の項目を参照したい場合はitem参照を使用する
Notification定義 不可 特になし


item参照

記述例 : ContentのAction定義で、ある項目の値を別の項目にセット

<set item="申請書" value="item:選択申請書"/>

説明 :
Contentの内部からContent項目にリンクする参照です。
Content定義内のAction定義などで、自身のContent項目を参照する場合に使用します。

固有フォーマット

item:{自身のContent項目のID}


記述可能箇所

item参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特になし
Area定義 不可 Area定義からContent項目を参照する場合はcontent参照を使用します。
Content定義 特になし
Notification定義 不可 特になし


locale参照

記述例 : クライアント実行環境のロケール情報から言語名をContentItemの値にロードする

<item id="申請書" access="hidden" type="value" scope="local">
    <valuetype imeplement="java.lang.String"/>
    <load from="locale:lang"/>
</item>

説明 :
クライアント実行環境のロケール情報に対する参照です。 実行環境の言語や国に関する情報を取得することが出来ます。

固有フォーマット

locale:{取得したいロケール情報のキーワード}
ここで指定できるキーワードには以下の物があります。

キーワード 説明
lang 実行環境のロケール情報から言語を表す文字列を取得します。
country 実行環境のロケール情報から国を表す文字列を取得します。

記述可能箇所

item参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 特になし
Area定義 特になし
Content定義 特になし
Notification定義 特になし


global参照

記述例 : ログインしたユーザの名前をラベルに表示する場合

<Label id="ログインユーザー氏名ラベル" text="global:利用者氏名"/>

説明 :
globalスコープのContent項目にリンクする参照です。

この参照に直接リンクするのは、GlobalContentと呼ばれる特殊なContentです。 この特殊Contentには、globalスコープの項目が定義されていて、global参照を 使用することによりアプリケーション全体から参照することが出来ます。

GlobalContentのContentIDはプラグインプロパティに定義されます。

固有フォーマット

global:{globalスコープのContent項目のID}


記述可能箇所

global参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特になし
Area定義 特になし
Content定義 特になし
Notification定義 特になし


ptype参照

記述例 : チェックボックスのon/offに対応する区分値の割当

<CheckBox id="削除区分チェックボックス"
    on="ptype:削除区分/削除" off="ptype:削除区分/未削除"
    checkedItem="content:CC_XXX_001_Edit/削除区分"/>

記述例 : コンボボックスの選択肢を区分値の一覧にする場合
<ComboBox id="申請種別コンボボックス"
    selectedItem="content:CC_XXX_001_Config/申請種別">
    <ComboBoxModel>
        <Phenomenon items="ptype:申請種別/definedValues"/>
    </ComboBoxModel>
</ComboBox>

説明 :
現象型、現象のメタデータにリンクする参照です。

この参照は、現象型名をキーにして各種メタデータにアクセスして、区分値の値や 一覧の取得を行うことが出来ます。

固有フォーマット

固有フォーマット1 : 区分値の値を取得する

ptype:{現象型名}/{区分値の文字列表現}

固有フォーマット2 : 区分値の一覧を取得する

ptype:{現象型名}/definedValues


記述可能箇所

ptype参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特になし
Area定義 特になし
Content定義 特になし
Notification定義 特になし


observable参照

記述例 : Content項目の初期値に、データモデル中の項目を割り当てる。

<item id="利用者氏名" access="output" type="value">
    <load from="observable:ログイン利用者/利用者氏名"/>
    <description>ログインユーザの氏名です。</description>
</item>

説明 :
データモデルに含まれる現象型にリンクする参照です。

この参照は、取得したい値が含まれているデータモデル(Updatable)と、現象型に対するパスを 記述することでその値を読み込むことが出来ます。

この参照は、Content定義内で、Content項目の初期値とデータモデル中の現象型をマッピングする ために使用されます。

固有フォーマット

observable:{データモデルが格納されるContent項目ID}/{現象型パス}


記述可能箇所

observable参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特になし
Area定義 不可 特になし
Content定義 自身のコンテント項目に格納されているデータモデルに対してリンクする
Notification定義 不可 特になし


property参照

記述例 : ラベルの表示文字列をプロパティファイルから取得する

<Label id="ログインヘッダラベル" text="property:ログインヘッダタイトル"/>

説明 :
プロパティファイルに定義されている値にリンクする参照です。

この参照は、アプリケーションの起動時に指定されるプロパティファイルから情報を読み込むことが出来ます。 クライアント実行セッションの起動単位でプロパティファイルは指定されるので、別のプロパティファイルを 与えることで別の値を読み込むことが可能です。

固有フォーマット

property:{プロパティファイル中の設定値のキー}


記述可能箇所

property参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 Page定義に対する個別プロパティファイルが存在すれば、そちらが優先して読みこまれる。
Area定義 Area定義に対する個別プロパティファイルが存在すれば、そちらが優先して読みこまれる。
Content定義 Content定義に対する個別プロパティファイルが存在すれば、そちらが優先して読みこまれる。
Notification定義 特になし


page参照

記述例 : ヘッダ部分の表示文字列をページ名にする

<Label id="ヘッダラベル" text="page:name"/>

説明 :
ページ定義の内容にリンクする参照です。

この参照は、Page定義の各種情報に対してArea定義からアクセスするために使用します。
ウィンドウタイトルを決定するための元情報になったり、画面の実行コンテキスト名を元にした コンポーネントの表示/非表示制御などに使用されます。

固有フォーマット

page:{参照したいPage定義の項目名}
ここで指定できるPage定義の項目名には以下の物があります。

項目名 説明
id Page定義のidentityセクションのid属性
name Page定義のidentityセクションのname属性
stereotype Page定義のidentityセクションのstereotype属性
context Page定義のidentityセクションのcontext属性
parentid 親画面のPage定義のidentityセクションのid属性

記述可能箇所

page参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特に無し
Area定義 特に無し
Content定義 不可 特に無し
Notification定義 不可 特になし


calendar参照

記述例 : 今日の日付をラベルに表示する

<Label id="ヘッダラベル" text="calendar:TODAY"/>
記述例 : 今日から30日後の日付をラベルに表示する
<Label id="ヘッダラベル" text="calendar:TODAY[+30]"/>
記述例 : 現在から15日と12時間後日付をラベルに表示する
<Label id="ヘッダラベル" text="calendar:NOW[+15day,+12hour]"/>

説明 :
日付関連の情報にリンクする参照です。

固有フォーマット

calendar:{日付を表すキーワード}[{日付に対する加減算を指定するオプション}]
ここで指定できるキーワードには以下の物があります。

キーワード 説明
NOW クライアント実行時の現在時刻を表す。
値の型はjava.util.Dateとなります。
TODAY クライアント実行時の日付を表す。
値の型はjava.util.Dateとなります。
時分秒は全て0になります。
THIS_MONTH クライアント実行時の年月を表す。
値の型はpexa.share.business.YearMonthとなります。

また、省略可能なオプションとして、日付に対する加減算を指定することが出来ます。
オプションは日付キーワードの後ろに[]で囲んで指定します。

[{'+' or '-'}{加減算値}{計算対象フィールドの指定}]
たとえば、今日から30日後を表す場合は
calendar:TODAY[+30day]
となります。

フィールドは複数種類を一度に指定できるので、例えば現在から15日と12時間後を指定する場合は
calendar:NOW[+15day,+12hour]
というようにカンマ区切りで複数個指定して下さい。

また、計算対象フィールドの指定は省略できます。
省略時は日付キーワードによってデフォルトが決まります。それぞれの対応は以下の通り。

キーワード 指定できる計算対象フィールド デフォルトフィールド
NOW 年、月、日、時、分に対する加減算の指定が可能です。
  • 年 : year
  • 月 : month
  • 日 : day
  • 時 : hour
  • 分 : min
時(hour)
TODAY 年、月、日に対する加減算の指定が可能です。
  • 年 : year
  • 月 : month
  • 日 : day
日(day)
THIS_MONTH 年、月に対する加減算の指定が可能です。
  • 年 : year
  • 月 : month
月(month)

記述可能箇所

calendar参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 特に無し
Area定義 特に無し
Content定義 特に無し
Notification定義 不可 特になし


color参照

記述例 : コンポーネントの背景色を色名で設定する

<Label id="ヘッダラベル" text="calendar:TODAY" background="color:BLUE"/>
記述例 : コンポーネントの背景色をRGBの数値で設定する
<Label id="ヘッダラベル" text="calendar:TODAY" background="color:209,211,122"/>

説明 :
色にリンクする参照です。

主にコンポーネントの前景色、背景色の設定に使用します。

固有フォーマット

固有フォーマット1 : RGBを10進数表記で指定する場合

coloer:{Rを表す10進数},{Gを表す10進数},{Bを表す10進数}
固有フォーマット2 : 標準で用意されている色を名前で指定する場合
coloer:{色名}
ここで指定できる色名は、java.awt.Colorクラスで定義されている定数名と同じです。


記述可能箇所

calendar参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特に無し
Area定義 特に無し
Content定義 不可 特に無し
Notification定義 不可 特になし


filter参照

記述例 : Pageのcontextからコンポーネントの可視/不可視を制御する

<Button id="承認ボタン" text="承認" visible="filter:[page:context = 承認]"/>

説明 :
何らかの判定処理を行い、結果をtrueかfalseで返す参照です。

この参照は、値をbooleanで受け取る属性値に指定することが出来ます。
主に使用される箇所は、コンポーネントタグ、コマンドの判定命令、アクションの判定命令です。
filter:[判定文]という形式となり、鍵括弧内部に記述された条件式を判定した結果が返されます。

ここで指定できる条件式は、以下の組が最小単位となります。

{左辺値} {比較演算子} {右辺値}
この最小単位の組を論理演算子で複数個連結できます。
条件の評価は基本的に左から順番に行われますが、括弧でくくることで優先順位を変えることもできます。

固有フォーマット

固有フォーマット1 : 最小単位での条件式

filter:[{左辺値} {比較演算子} {右辺値}]
固有フォーマット2 : 2つの条件式を論理演算子で連結した場合
filter:[{左辺値} {比較演算子} {右辺値} {論理演算子} {左辺値} {比較演算子} {右辺値}]
固有フォーマット3 : 3つの条件式を括弧でくくった上で論理演算子で連結した場合
filter:[({左辺値} {比較演算子} {右辺値}) {論理演算子} (({左辺値} {比較演算子} {右辺値}) {論理演算子} ({左辺値} {比較演算子} {右辺値}))]
左辺値、右辺値はどちらも参照形式を使用することが出来ます。

指定できる比較演算子は以下の通り。

比較演算子 読み 説明
 =  イコール 左辺値と右辺値が等しい
 !=  ノットイコール 左辺値と右辺値が等しくない
 lt  レス ザン(less than) 左辺値が右辺値より小さい
 gt  グレーター ザン(greater than) 左辺値が右辺値より大きい
 is null イズ ヌル 左辺値がnullである
この場合、右辺値はなし。
 is not null イズ ノット ヌル 左辺値がnullではない。
この場合、右辺値はなし。
 is empty イズ エンプティ 左辺値がListか配列の場合に、件数0件かnullである
この場合、右辺値はなし。
 is not empty イズ ノット エンプティ 左辺値がListか配列の場合に、件数0件かnullではない
この場合、右辺値はなし。
 in イン 右辺値が集合(Listか配列)の場合に、左辺値がその中に含まれている
右辺値が集合(Listか配列)以外の場合はエラー。
 not in ノット イン 右辺値が集合(Listか配列)の場合に、左辺値がその中に含まれていない
右辺値が集合(Listか配列)以外の場合はエラー。

指定できる論理演算子は以下の通り。

論理演算子 読み 説明
 and  アンド 左の条件式と右の条件式がどちらも真
 or  オア 左の条件式と右の条件式のどちらか一方でも真

記述可能箇所

calendar参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特に無し
Area定義 コンポーネントタグ、Command定義の判定命令で使用する。
Content定義 Action定義の判定命令で使用する。
Notification定義 不可 特になし


map参照

記述例 : Content項目の初期値に、Map中の項目を割り当てる。

<item id="選択行の制作コード" access="output" type="value">
    <load from="map:選択仕訳データ/制作コード"/>
    <description>画面のTable上で選択したレコードの制作コードです。</description>
</item>

説明 :
Mapに含まれる項目にリンクする参照です。

この参照は、取得したい値が含まれているMapと、値に対するパスを記述することでその値を読み込むことが出来ます。
Map内にネストしてMapが格納されているような場合でも、スラッシュ区切りでパスを記述することでネストした先に格納されている値にアクセスできます。
この参照は、主にContent定義内で、Content項目の初期値とMap中の値をマッピングするために使用されます。

固有フォーマット

map:{Mapが格納されるContent項目ID}/{項目パス}


記述可能箇所

map参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特になし
Area定義 不可 特になし
Content定義 自身のコンテント項目に格納されているMapに対してリンクする
Notification定義 不可 特になし


static参照

記述例 : null値を設定する

<set item="申請者コード" value="static:null"/>
記述例 : 半角スペースを設定する
<set item="申請者コード" value="static:halfspace"/>
記述例 : 全角スペースを設定する
<set item="申請者コード" value="static:fullspace"/>

説明 :
特定の固定値を取得するための参照です。
スペース等はトリミングされて無効になる場合が多いので、あえて使用する必要がある場合はこの参照を使用します。
また、Content項目に対して意図的にnull値を設定したい場合にも使用します。意図的にNULL値を設定した場合、
ContentActionのremove命令とは違ってloadタグによる初期値を無効にすることが出来ます。

固有フォーマット

static:{固定値を表すキーワード}
ここで指定できるキーワードには以下の物があります。

キーワード 説明
NULL(null) null値を表す。
HALFSPACE(halfspace) 半角スペースを表す。
値の型はjava.lang.Stringとなります。
FULLSPACE(fullspace) 全角スペースを表す。
値の型はjava.lang.Stringとなります。
TRUE(true) BooleanのTRUEを表す
値の型はjava.lang.Booleanとなります。
FALSE(false) BooleanのFALSEを表す
値の型はjava.lang.Booleanとなります。

記述可能箇所

static参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特に無し
Area定義 特に無し
Content定義 特に無し
Notification定義 特になし


number参照

記述例 : Integerとしての100を設定する

<set item="回数" value="number:Integer/100"/>

説明 :
java.lang.Numberの派生クラスのインスタンスとして数値を取得するための参照です。

固有フォーマット

number:{Numberの型指定}/{数値}
ここで指定できるNumberの型は以下の物があります。

Numberの型 説明
Integer java.lang.Integer値を表す
Long java.lang.Long値を表す

記述可能箇所

number参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特に無し
Area定義 特に無し
Content定義 特に無し
Notification定義 特になし


context参照

記述例 : コンテキストに与えられた名称を参照する

<if condition="filter:[context:name = 確定処理]">
    <true>
        :
        :
    </true>
</if>

説明 :
実行コンテキスト情報にリンクする参照です。

この参照は、Page,Area,Contentが結びついている実行コンテキストの各種情報に対してアクセスするために使用します。
実行コンテキスト名を元にしたコンポーネントの表示/非表示制御や初期化処理の分岐条件などに使用されます。

固有フォーマット

context:{参照したい実行コンテキストの項目名}
ここで指定できる実行コンテキストの項目名には以下の物があります。

項目名 説明
name Page定義のtransit-page, popup-pageタグのcontext属性で与えられた、実行コンテキスト名称
situation Page定義のtransit-page, popup-pageタグのsituation属性で与えられた、遷移元を表す名称

記述可能箇所

context参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 特に無し
Area定義 特に無し
Content定義 特に無し
Notification定義 不可 特になし


message参照

記述例 : メッセージボックスで表示するメッセージ内容をMessage定義から取得する

<showMessageDialog message="message:CM_COMM_001/検索結果0件"/>
記述例 : 変数有りのメッセージをMessage定義から取得する
<showMessageDialog message="message:CM_COMM_001/検索結果件数[CC_WKFL_001_EditList]"/>

説明 :
Message定義で定義されているメッセージにリンクする参照です。
Message定義の定義内容にArea定義やContent定義からアクセスすることが出来ます。

なお、message参照とMessage定義ファイルの組み合わせにより、以下のような仕組みを利用することが出来ます。

詳細は上記のリンク先のMessage定義ガイドに記述されていますので、そちらを参照してください。

固有フォーマット

変数無しの固定メッセージを指定する場合

    message:{MessageListのID}/{MessageのID}

変数が埋め込まれているメッセージを指定する場合
    message:{MessageListのID}/{MessageのID[変数値を与えるContentのID]}


記述可能箇所

message参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特になし
Area定義 特になし
Content定義 特になし
Notification定義 特になし


proxy参照

記述例 : Content上で保持しているモデルのProxy(No)からモデル本体を取得する

<item id="選択会社No" access="inout" type="value">
    <valuetype ptype="会社No"/>
</item>
<item id="選択会社情報" access="hidden" type="model">
    <load from="proxy:選択会社No/会社マスタ"/>
</item>

説明 :
Content上でitemとして保持されているProxy(現象型名として"?No"とついているようなもの)を元に、そのProxyが表すデータモデルの本体を取得します。
Proxyを元にデータモデルを検索するようなサービスと同じ働きをしますが、こちらの記述の方がより簡易に使用できます。

固有フォーマット

proxy:{Content上でのProxyのitemID}/{モデル名もしくは検索JNDIパス}


記述可能箇所

proxy参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特になし
Area定義 不可 特になし
Content定義 特になし
Notification定義 不可 特になし


row参照

記述例 : Tableコンポーネントの選択チェックボックスの有効条件やカラム値の表示条件に使用

<Table id="一覧テーブル" selectMode="multiple">
    <TableModel ....>
        <!-- 選択チェックボックスを行データの取消フラグが未取消の場合に有効にする -->
        <CheckBoxColumn header="選択" width="40" selectable="filter:[row:data/取消フラグ = 未取消]"/>
        <TableColumn header="xxxx" ...>
            <!-- 行データの取消フラグが未取消の場合には、行データの会社No/会社名をこのカラムに表示 -->
            <load from="row:data/会社No/会社名" condition="filter:[row:data/取消フラグ = 未取消]"/>
            <!-- 行データの取消フラグが取消済の場合には、行データの会社No/会社名略称をこのカラムに表示 -->
            <load from="row:data/会社No/会社名略称" condition="filter:[row:data/取消フラグ = 取消済]"/>
        </TableColumn>
            :
            :
    </TableModel>
</Table>

説明 :
Area定義で、Tableコンポーネントタグとペアで使用する参照記法です。
処理中の行データのインデックス、もしくは行データ中の値を参照するのに使用します。

この参照記法とテーブルコンポーネントのタグの記述を組み合わせることで、 テーブル上で複数行選択を行うためのチェックボックスの表示/非表示を行データの内容をチェックして切り替えたり、 特定のカラムに表示する値を、条件に応じて行毎に変更したりすることができます。

固有フォーマット

現在処理中の行インデックス

row:index
現在処理中の行データ中の項目
row:data/{行データ(データモデル)中の現象型名。パスによる記述も可}


記述可能箇所

row参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特になし
Area定義 テーブルコンポーネントタグでのみ使用できる
Content定義 不可 特になし
Notification定義 不可 特になし


notification参照

記述例 : 受信したNotificationのパラメータをArea定義のCommandで参照する

<command-list>
    <command id="操作ログ更新">
        <setValue to="content:CC_COMM_004_01_List/操作ログ情報一覧" value="notification:item/操作ログ検索結果"/>
        <doAction action="操作ログ情報絞り込み" content="CC_COMM_004_01_List"/>
    </command>
</command-list>

説明 :
Notificationを受信したAreaのCommandで、Notificationに含まれる情報を参照するために使用します。
通知の送信元のIDや、通知パラメータなどを参照できます。

固有フォーマット

Notificationの送信元ID

notification:source
通知パラメータ
notification:item/{Notification ItemID}


記述可能箇所

notification参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特になし
Area定義 Notification受信時に呼び出されたCommand内でのみ
Content定義 不可 特になし
Notification定義 不可 特になし


size参照

記述例 : Content上で保持している検索結果モデルリストの件数を取得して表示する

<Label id="検索結果件数ラベル" text="size:[content:CC_Sample_EditList/検索結果リスト]"/>

説明 :
リストや配列などの件数を取得することができます。
主に、画面上に検索結果などの件数を表示するような場合に使用します。

固有フォーマット

size:[件数の取得対象(参照記法で対象を指定)]


記述可能箇所

size参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 不可 特になし
Area定義 特になし
Content定義 特になし
Notification定義 特になし


preference参照

記述例 : ログインユーザーIDを実行時設定の保存機能に書き込む

<setValue to="preference:保存ログインユーザーID" value="content:CC_Login/ログインユーザーID"/>

記述例 : 実行時設定に保存したログインユーザーIDをContentItemの初期値とする。

<item id="ログインユーザーID" access="inout" type="value" scope="local">
    <valuetype implement="java.lang.String">
    <load from="preference:保存ログインユーザーID"/>
</item>

説明 :
実行時設定に対して特定の値を設定したり読み出したりすることが出来ます。
前回ログイン時のIDなどを覚えておいて、次回画面表示の初期表示を行う場合などに利用できます。

この機能を有効にするには、プロパティの「実行時設定の保存機能に対する設定セクション」で動作モードをfileにしておく必要があります。
他のモードの場合は特にエラーにはなりませんが実際に保存されたり読み出したりすることができずにnull値となります。

固有フォーマット

preference:{設定値キー}


記述可能箇所

preference参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 特になし
Area定義 特になし
Content定義 特になし
Notification定義 特になし


system参照

記述例 : 環境変数を取得する

<set item="Javaホームディレクトリ" value="system:env/JAVA_HOME"/>
記述例 : システムプロパティを取得する
<set item="ユーザーホームディレクトリ" value="system:property/user.home"/>
記述例 : クライアントホスト名情報(文字列)を取得する
<set item="クライアントホスト名" value="system:host/name"/>
記述例 : クライアントホストIPアドレス情報(文字列XX:XX:XX:XX)を取得する
<set item="クライアントIP情報" value="system:host/ipaddr"/>
記述例 : デフォルト値付きで取得
<set item="サーバーIPアドレス" value="system:env/SERVER_IPADDR[localhost]"/>

説明 :
実行環境上の情報を取得するための参照です。
環境変数及びJavaVM起動時に指定されるようなシステムプロパティを読み込むことが出来ます。
また、読み込んだ値がnullだった場合に適用するデフォルト値を合わせて指定することも出来ます。

固有フォーマット

system:{種別を表すキーワード}/{変数名,プロパティ名など}[デフォルト値(省略可)]
ここで指定できるキーワードには以下の物があります。

キーワード 説明
env 環境変数を表す。
property 実行環境(JavaVM)のシステムプロパティを表す。
host/name クライアントホスト情報(ホスト名)を表す。
host/ipaddr クライアントホスト情報(IPアドレス)を表す。

記述可能箇所

system参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 特に無し
Area定義 特に無し
Content定義 特に無し
Notification定義 特になし


translator参照

記述例 : showMessageDialog命令で今日日付をtranslatorで変換して表示

<showMessageDialog message="translator:日時変換[calendar:TODAY]"/>
記述例 : ContentItemのloadタグで初期値をtranslatorで文字列変換
<item id="発送日付文字列" access="hidden" type="value" scope="local">
    <valuetype implements="java.lang.String"/>
    <load from="translator:日時変換[item:発送日付]"/>
</item>

説明 :
トランスレータを使用して、何らかのオブジェクトを別の型(大抵は表示文字列)に変換します。
画面表示で使用したり、Content項目の値変換などで使用することが出来ます。

translator参照で取得できる値は基本的には文字列ですが、トランスレータ自体が返値を 文字列に限定しているわけではないので、実際には使用するトランスレータ次第となります。

固有フォーマット

translator:{使用するトランスレータ名}[{変換する対象を表す参照記法}]


記述可能箇所

translator参照を記述できる箇所は以下の通り。

定義名 記載可/不可 備考
Page定義 特になし
Area定義 特になし
Content定義 特になし
Notification定義 特になし


更新情報

  • 最終更新者 : $Author: tann $
  • 最終更新日時 : $Date:: 2014-08-27 15:38:51 #$
  • バージョン : $Revision: 7788 $



Copyright © 2006, Atrris Corporation