PEXA Supportについて

PEXAプロパティ

トランスレータ

印刷フレームワーク

AETフレームワーク

ワークフロー

動的フォーム

変換フレームワーク

テンプレートエンジン

カレンダー

タスクスケジューラー

目次

  1. 概要
  2. パーサーAPI
  3. 文字エンコーディングの指定
  4. プロパティ形式書式
  5. 記述例


概要

このドキュメントは、PEXAプロパティ形式の書式について説明する物です。

PEXAプロパティ形式のテキストファイルは、PEXA実行エンジンが読み込む各種成果物の記述形式となります。
Java標準のプロパティファイルとは異なり、セクションやリストを記述することが出来ます。

PEXA内部のAPIによって、このファイルの内容はkeyとvalueの組を格納したMapに変換されます。


パーサーAPI

PEXAプロパティ形式のテキストファイルを読み込んで、MapおよびListの固まりに変換するパーサーが用意されています。

pexa.share.util.prop.PropertyLoader
上記のクラスに、いくつかのstaticメソッドが用意されており、それらをコールすることで変換を行うことが出来ます。
PEXAエンジンの各種機能も、このクラスのメソッドをコールすることでそれぞれが読み込むべき成果物ファイルの内容をMapに変換しています。

詳細はPEXA APIのJavadocを参照してください。


文字エンコーディングの指定

PEXAプロパティ形式のファイルを実行エンジンに読み込ませる際に、エンコーディングを指定する方法がいくつか用意されています。

特に何も指定が無い場合は、JavaVMを実行しているプラットフォームのデフォルトエンコーディングで読み込みを試みます。 それ以外のエンコーディングで読み込ませたい場合は、以下のいずれかの方法をとってください。

実行時パラメータ

実行時パラメータで指定する場合、JavaVM起動時のパラメータとして以下を指定してください。

-Dencoding=エンコーディング名
例えばUTF-8を指定する場合は以下のようになります。
-Dencoding=MS932


プラグインエントリに記述

ワークスペース中の以下のファイルに指定することが出来ます。

/src/plugins/pexa_plugins.entry
上記のファイル中に以下のような記述をしておくことでエンコーディングが指定できます。
encoding="UTF-8"


ファイル自身にエンコーディング名を記述

XMLファイルの先頭のxml宣言部と同じような形で、ファイル自身の中にそのファイルのエンコーディング指定を記述することが出来ます。
以下のような記述をPEXAプロパティ形式ファイルの先頭に記述してください。

#encoding="UTF-8"
このように指定することで、このファイルを読み込んだパーサーのAPIが指定されたエンコーディングでファイルを読み込んでMapに変換します。



プロパティ形式書式
基本的にKey,Valueの組で記述
  • key value

または「=」をいれてKeyとValueを明確にくぎってもよい
  • key=value

key,value側が空白を含む場合は「"」でクオート
  • key "value value"

valueが配列になる場合は「,」で区切って記述。ただし、「,」の前後に空白は入れない
  • key value1,value2,...

値が組(マップ)になる場合は()で記述

  • (key
    • childKey1 value1
    • childKey2 value2
    • ...
  • )

値が組でかつ取得順番を記述順に指定したい場合は{}で記述(順序付マップ)

  • {key
    • childeKey1 value1
    • childKey2 value2
    • ...
  • }

値が組でかつ配列になる場合は[]で記述して配列要素の区切り毎に「,」のみの行を入れる(マップのリスト)

  • [key
    • childKey1 value1_1
    • childKey2 value1_2
    • ,
    • childKey1 value2_1
    • childKey2 value2_2
    • ,
    • ...
  • ]


コメント

  • ";"以降はコメントとして扱われる



記述例

サポートフレームワークのTranslator定義の記述例をサンプルとして以下に挙げます。

;; ---------------------------------------------------------------
;; Current-Module:   default.native
;; Release-Date:     $Date:: 2008-11-21 11:47:31 #$
;; Release-Version:  $Revision: 2751 $
;; 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  未削除
        )
    )
)


更新情報

  • 最終更新者 : $Author: morishita $
  • 最終更新日時 : $Date:: 2008-11-21 11:47:31 #$
  • バージョン : $Revision: 2751 $



Copyright © 2006, Atrris Corporation