PEXA Supportについて

PEXAプロパティ

トランスレータ

印刷フレームワーク

AETフレームワーク

ワークフロー

動的フォーム

変換フレームワーク

テンプレートエンジン

カレンダー

タスクスケジューラー

目次

  1. はじめに
  2. 共通書式
  3. モデルトランスレータ
  4. 現象型トランスレータ
  5. クラストランスレータ


はじめに

このドキュメントは、トランスレータ定義ファイルの内容について解説するものです。

トランスレータとは、値オブジェクトを表示文字列に変換するPEXAの機能です。
サービスフレームワークでは、&Translateディレクティブを使用して利用されます。
クライアントフレームワークでは、Area定義ファイルで記述するComponent制御タグから利用されます。
Componentタグのうち、"translator"という属性値を持つタグでトランスレータを指定できます。
ここで指定されたトランスレータ名は、以下で解説するtranslator定義ファイル中に記述されるtranslator_nameとマッピングされ、定義ファイルの内容に従ってフレームワーク内で実行されます。


共通書式

トランスレータ定義ファイルは、PEXA形式のプロパティファイルとして記述します。
最初にどのタイプのトランスレータでも共通のパラメータを記述し、その後にタイプ毎の定義セクションを記述します。

トランスレータ定義の記述フォーマット

;------------------------
; 識別情報
;------------------------
translator_name     {トランスレータ名}
translator_location {client or server}
translator_type     {model or ptype or class}
;------------------------
; 対応locale指定
;------------------------
(locale
    lang    {対応言語名}
    country {対応言語ロケール名}
)
;------------------------
; 変換規則の指定
;------------------------
({model or ptype or class}
    translator_type毎の定義セクション	
)

パラメータ名 説明
translator_name 任意の文字列 トランスレータ名称を記述します。
ここで記述した名称がArea定義のComponentタグのtranslator属性で指定されることになります。
translator_location client
server
トランスレータの実行場所を指定します。
clientサイドで実行されるのかserverサイドで実行されるのかの指定となります。
translator_type model
ptype
class
トランスレータのタイプを指定します。
ここの指定により以下のサブセクションの内容が決まります。

localeセクション

記述例 : 日本語対応で且つcountryが日本指定のトランスレータの場合

(locale
    lang    ja
    country JP
)

記述例 : 英語対応で且つcountry指定無しのトランスレータの場合

(locale
    lang    en
)

国際化対応を行う場合、このトランスレータ定義がどの言語および地域に対応する物かをこのセクションで指定します。
特に多言語対応を行う必要がなければ記述する必要はありません。

ロケールは、lang属性とcountry属性の組み合わせで指定することになります。
lang属性は言語(日本語、英語など)を表し、country属性は国(日本、アメリカ、イギリスなど)を表します。

lang属性は必須ですが、countryは省略可能です。
countryを省略した場合は、実行時の環境におけるcountryがなんであれlanguageが一致すればその定義ファイルが適用されます。

どのトランスレータが実行時に利用されるかは、JVM実行時のロケールとこのセクションの内容がマッチングされることで決定されます。


トランスレータ定義全体の記述例

記述例 :

;; ---------------------------------------------------------------
;; Current-Module:   default.native
;; Release-Date:     $Date:: 2010-09-01 16:09:27 #$
;; Release-Version:  $Revision: 5320 $
;; First-Created-On: 2006/03/14
;; First-Created-By: 
;; Copy-Right-Owner:
;; ---------------------------------------------------------------
;;
;; デフォルトのtranslateルールを定義するファイル
;;
;;-----------------------------------------------------------------
translator_name     default
translator_location client
translator_type     class
;;-----------------------------------------------------------------
;; このトランスレータの適用ロケール
;;-----------------------------------------------------------------
(locale
    lang    ja
    country JP
)
;;-----------------------------------------------------------------
;; クラス名に対応させるtranslateルール
;;-----------------------------------------------------------------
(class
    ;;-----------------------------------------------------------------
    ;; 日付
    ;;-----------------------------------------------------------------
    (java.util.Date
        translator  pexa.client.std.trans.DefaultDateTranslator
    )
    ;;-----------------------------------------------------------------
    ;; 数値
    ;;-----------------------------------------------------------------
    (java.math.BigDecimal
        translator  pexa.client.std.trans.DefaultNumberTranslator
    )
    ;;-----------------------------------------------------------------
    ;; 年月
    ;;-----------------------------------------------------------------
    (pexa.share.util.cont.YearMonth
        translator  pexa.client.std.trans.DefaultYearMonthTranslator
    )
    ;;-----------------------------------------------------------------
    ;; 有効フラグのビジネスオブジェクト
    ;;-----------------------------------------------------------------
    (pexa.share.util.business.ValidityFlag
        (static
            VALID    有効
            INVALID  無効
        )
    )
    ;;-----------------------------------------------------------------
    ;; 削除フラグのビジネスオブジェクト
    ;;-----------------------------------------------------------------
    (pexa.share.util.business.RemovedFlag
        (static
            REMOVED      削除済み
            NOT_REMOVED  未削除
        )
    )
)



モデルトランスレータ

記述例 :

;; ---------------------------------------------------------------
;; Current-Module:   default.native
;; Release-Date:     $Date:: 2010-09-01 16:09:27 #$
;; Release-Version:  $Revision: 5320 $
;; First-Created-On: 2006/03/14
;; First-Created-By: 
;; Copy-Right-Owner:
;; ---------------------------------------------------------------
;;
;; 未承認オーダ一覧に表示する内容にモデルを変換する定義ファイル
;;
;;-----------------------------------------------------------------
translator_name       未承認オーダ一覧
translator_location   client
translator_type       model
;;-----------------------------------------------------------------
;; モデル名に対応させるtranslateルール
;;-----------------------------------------------------------------
(model
    (検体検査オーダ
        template          env/template/未承認オーダ一覧/未承認検体検査オーダ.ftl
        ptype_translator  検体検査オーダ項目.trans
    )
    (処方オーダ
        template          env/template/未承認オーダ一覧/未承認処方オーダ.vm
        template_engine   Velocity
    )
)

説明 :
モデルトランスレータは、データモデルを丸ごと文字列データに変換するためのトランスレータです。
modelセクションの配下にモデル名をキーにしたセクションを記述し、その内部に細かい設定を記述します

変換フォーマットはテンプレートによって記述され、さらにモデル中に含まれる各現象型の値の変換規則を現象型トランスレータで指定します。 このように、テンプレートと現象型トランスレータの組み合わせにより出力文字列データが生成されます。

templateパラメータは必須、template_engineパラメータとptype_translatorパラメータは任意となります。
template_engine省略時は、JavaVMパラメータやプロパティ等で指定されたデフォルトのテンプレートエンジンが適用されます。
ptype_translator省略時は、デフォルトトランスレータのみが適用されます。

modelセクションの記述フォーマット :

(model
    ({モデル名}
        template          {変換フォーマットを定義するTemaplteファイルの指定(必須)}
        template_engine   {Temaplteを読み込んで処理するテンプレートエンジンの指定(非必須)}
        ptype_translator  {変換対象のデータモデルに含まれる各現象型に対しての変換規則を定義するトランスレータ名(非必須)}
    )
)


現象型トランスレータ

記述例 :

;; ---------------------------------------------------------------
;; Current-Module:   default.native
;; Release-Date:     $Date:: 2010-09-01 16:09:27 #$
;; Release-Version:  $Revision: 5320 $
;; First-Created-On: 2006/03/14
;; First-Created-By: 
;; Copy-Right-Owner:
;; ---------------------------------------------------------------
;;
;; 未承認オーダ一覧に表示する内容にモデルを変換する定義ファイル
;;
;;-----------------------------------------------------------------
translator_name       検体検査オーダ項目
translator_location   client
translator_type       ptype
;;-----------------------------------------------------------------
;; 現象型名に対応させるtranslateルール
;;-----------------------------------------------------------------
(ptype
    (オーダ受付日時
        translator    pexa.client.std.trans.DefaultDateTimeTranslator
    )
    (ValidityFlag
        (static
            VALID    有効
            INVALID  無効
        )
    )
    (RemovedFlag
        (static
            REMOVED      削除済み
            NOT_REMOVED  未削除
        )
    )
)

説明 :
現象型名に対応する変換ルール設定です。
ptypeセクションの配下に現象型名をキーにしたセクションを記述し、その内部に細かい設定を記述します。

このトランスレータは、基本的にモデルトランスレータと組み合わせて使用されます。
また、この定義ファイルに記述されていない現象型が与えられた場合は、デフォルトトランスレータが適用されます。

記述フォーマット :

(ptype
    ;;----------------------------------------------
    ;; 区分値から表示文字列に変換する場合
    ;;----------------------------------------------
    (現象型名
        (static
            {区分値1}  {表示文字列指定}
            {区分値2}  {表示文字列指定}
            {区分値3}  {表示文字列指定}
	            :
	            :
        )
    )
    ;;----------------------------------------------
    ;; トランスレータ実装クラスを直接指定する場合
    ;;----------------------------------------------
    (現象型名
        translator    {トランスレータ実装クラス名}
    )
)


クラストランスレータ

記述例 :

;; ---------------------------------------------------------------
;; Current-Module:   default.native
;; Release-Date:     $Date:: 2010-09-01 16:09:27 #$
;; Release-Version:  $Revision: 5320 $
;; First-Created-On: 2006/03/14
;; First-Created-By: 
;; Copy-Right-Owner:
;; ---------------------------------------------------------------
;;
;; デフォルトのtranslateルールを定義するファイル
;;
;;-----------------------------------------------------------------
translator_name     default
translator_location client
translator_type     class
;;-----------------------------------------------------------------
;; 現象のクラス名に対応させるtranslateルール
;;-----------------------------------------------------------------
(class
    ;;-----------------------------------------------------------------
    ;; 日付
    ;;-----------------------------------------------------------------
    (java.util.Date
        translator  pexa.client.std.trans.base.DefaultDateTranslator
    )
    ;;-----------------------------------------------------------------
    ;; 数値
    ;;-----------------------------------------------------------------
    (java.math.BigDecimal
        translator  pexa.client.std.trans.base.DefaultNumberTranslator
    )
    ;;-----------------------------------------------------------------
    ;; 有効フラグのビジネスオブジェクト
    ;;-----------------------------------------------------------------
    (pexa.share.util.business.ValidityFlag
        (static
            VALID    有効
            INVALID  無効
        )
    )
    ;;-----------------------------------------------------------------
    ;; 削除フラグのビジネスオブジェクト
    ;;-----------------------------------------------------------------
    (pexa.share.util.business.RemovedFlag
        (static
            REMOVED      削除済み
            NOT_REMOVED  未削除
        )
    )
)

説明 :
変換対象の値のクラス名に対応する変換ルール設定です。
classセクションの配下にクラス名をキーにしたセクションを記述し、その内部に細かい設定を記述します。
また、この定義ファイルに記述されていない値オブジェクトが与えられた場合は、デフォルトトランスレータが適用されます。

記述フォーマット :

(class
    ;;----------------------------------------------
    ;; 標準で用意される、パラメータが指定できるトランスレータの場合
    ;;----------------------------------------------
    (クラス名
        (static
            {区分値1}  {表示文字列指定}
            {区分値2}  {表示文字列指定}
            {区分値3}  {表示文字列指定}
	            :
	            :
        )
    )
    ;;----------------------------------------------
    ;; トランスレータ実装クラスを直接指定する場合
    ;;----------------------------------------------
    (クラス名
        translator    {トランスレータ実装クラス名}
    )
)


更新情報

  • 最終更新者 : $Author: morishita $
  • 最終更新日時 : $Date:: 2010-09-01 16:09:27 #$
  • バージョン : $Revision: 5320 $



Copyright © 2006, Atrris Corporation