org.opengion.fukurou.model

## クラス Formatter

- java.lang.Object
- - org.opengion.fukurou.model.Formatter

-     public class Formatter
      extends Object

  [PN],[OYA] などの [] で指定されたカラムで表されたフォーマットデータに対して、 DataModel オブジェクトを適用して 各カラムに実データを割り当てるオブジェクトです。 カラム名には、特殊カラム名が使用できます。これは、DataModel に存在しないカラム名 ですが、値を返すことが出来ます。

       [KEY.カラム名] : 行番号付きカラム名
       [I]            : 行番号
       [ROW.ID]       : 行毎のチェックボックスのID
       [ROW.JSON]     : 行毎の全データのJavaScriptオブジェクト形式 { key:val,key:val,... }
       カラムの前に修飾記号(#,$,!)を付けるとフォーマットを変更できます。
       ただし、FormatTextField 系 と FormatTable 系で、出力される形式が異なります。
                        FormatTextField 系               FormatTable 系
       [#カラム名]    : TDなしのラベルと入力フィールド   ラベルを出力
       [$カラム名]    : TDなしの入力フィールドのみ       レンデラーを出力
       [!カラム名]    : TDなしの値のみ                   値を出力

  機能分類
    画面表示
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドの概要

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `static String` | `JOINT_STRING` カラムID(連結文字列)行番号の連結文字列を定義 "__"
    `static String` | `ROW_ID_KEY` テーブル表示のチェックボックスを特定する id の 名称( id は、この名称＋行番号) "cb"
    `static int` | `SYS_JSON` 特殊カラム名の定義: [ROW.JSON]
    `static int` | `SYS_ROWNUM` 特殊カラム名の定義: 行番号 [I]

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタと説明
    `Formatter(DataModel<?> model)` データモデルを指定してフォーマッターを構築します。

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `String[]` | `getClmKeys()` フォーマットのカラム名配列を返します。
    `int[]` | `getClmNos()` フォーマットのカラム番号配列を返します。
    `String[]` | `getFormat()` フォーマット配列を返します。
    `String` | `getFormatString(int row)` 指定の 行番号に対する、DataModel を元に作成したフォーマット文字列を返します。
    `String` | `getFormatString(int row, String separator)` 指定の 行番号に対する、DataModel を元に作成したフォーマット文字列を返します。
    `String` | `getJson(int row)` 行毎の全データのJavaScriptオブジェクト形式 を返します。
    `String` | `getQueryFormatString()` 先のフォーマット情報の[カラム名]を、?
    `char[]` | `getType()` タイプ文字列配列を返します。
    `String` | `getValue(int row, int clm)` column にあるセルの属性値をStringに変換して返します。
    `void` | `setFormat(String fmt)` フォーマットをセットします。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### フィールドの詳細

    - #### JOINT_STRING

          public static final String JOINT_STRING

      カラムID(連結文字列)行番号の連結文字列を定義 "__"
      関連項目:
        定数フィールド値

    - #### ROW_ID_KEY

          public static final String ROW_ID_KEY

      テーブル表示のチェックボックスを特定する id の 名称( id は、この名称＋行番号) "cb"
      関連項目:
        定数フィールド値

    - #### SYS_ROWNUM

          public static final int SYS_ROWNUM

      特殊カラム名の定義: 行番号 [I]
      関連項目:
        定数フィールド値

    - #### SYS_JSON

          public static final int SYS_JSON

      特殊カラム名の定義: [ROW.JSON]
      関連項目:
        定数フィールド値

  - ### コンストラクタの詳細

    - #### Formatter

          public Formatter(DataModel<?> model)

      データモデルを指定してフォーマッターを構築します。
      パラメータ:
        `model` - データモデル

  - ### メソッドの詳細

    - #### setFormat

          public void setFormat(String fmt)

      フォーマットをセットします。
      パラメータ:
        `fmt` - [カラム名] 形式のフォーマットデータ

    - #### getValue

          public String getValue(int row,
                        int clm)

      column にあるセルの属性値をStringに変換して返します。
      パラメータ:
        `row` - 処理中の行番号
        `clm` - 値が参照されるカラム番号
      戻り値:
        指定されたセルの値

    - #### getFormatString

          public String getFormatString(int row)

      指定の 行番号に対する、DataModel を元に作成したフォーマット文字列を返します。
      パラメータ:
        `row` - 行番号( [I]フォーマット処理用 )
      戻り値:
        指定のObject配列を元に作成したフォーマット文字列

    - #### getFormatString

          public String getFormatString(int row,
                               String separator)

      指定の 行番号に対する、DataModel を元に作成したフォーマット文字列を返します。 データはseparatorで指定された区切り文字で囲まれて返されます。
      パラメータ:
        `row` - 行番号( [I]フォーマット処理用 )
        `separator` - セパレーター
      戻り値:
        指定のObject配列を元に作成したフォーマット文字列
      変更履歴:

        4.3.1.1 (2008/08/23) switch に、default label が存在しないため、追加

    - #### getQueryFormatString

          public String getQueryFormatString()

      先のフォーマット情報の[カラム名]を、? に置き換えたフォーマットを返します。 これは、java.sql.PreparedStatement 形式のQuery文字列を合成する場合に使用します。
      戻り値:
        PreparedStatement形式のQuery文字列

    - #### getClmKeys

          public String[] getClmKeys()

      フォーマットのカラム名配列を返します。
      戻り値:
        フォーマットのカラム名配列

    - #### getClmNos

          public int[] getClmNos()

      フォーマットのカラム番号配列を返します。
      戻り値:
        フォーマットのカラム番号配列

    - #### getFormat

          public String[] getFormat()

      フォーマット配列を返します。
      戻り値:
        フォーマット配列

    - #### getType

          public char[] getType()

      タイプ文字列配列を返します。 タイプとは、[XXX] の記述で、[#XXX] は、XXXカラムのラベルを、[$XXX]は、XXXカラムの レンデラーを、[!XXX} は、値のみ取り出す指定を行います。 主に、TextField系のフォーマットとTable系では、意味合いが異なりますので、 ご注意ください。
      戻り値:
        タイプ文字列配列 '#':ラベルのみ '$':レンデラー '!':値のみ その他:通常

    - #### getJson

          public String getJson(int row)

      行毎の全データのJavaScriptオブジェクト形式 を返します。 JavaScriptオブジェクト形式とは、{ key:val,key:val,... }の形式で、 ここでは、内部設定された DataModel のすべてのカラム名をキーに、 引数で渡された 配列を 値として使用します。
      パラメータ:
        `row` - (DataModelの)行番号
      戻り値:
        指定の行番号に対応する全データのJSON形式データ

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.