クラス 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 interface  Formatter.TriFunction<V,​T,​P,​R>
      引数を3つ取る Function の 関数型インターフェースを定義します。
    • フィールドの概要

      フィールド 
      修飾子とタイプ フィールド 説明
      static String JOINT_STRING
      カラムID(連結文字列)行番号の連結文字列を定義 "__"
      static int NO_DISPLAY
      特殊カラム名の定義: 非表示
      static String ROW_ID_KEY
      テーブル表示のチェックボックスを特定する id の 名称( id は、この名称+行番号) "cb"
      static int SYS_JSON
      特殊カラム名の定義: [ROW.JSON]
      static int SYS_ROWNUM
      6.9.5.0 (2018/04/23) 特殊カラム名の定義: 行番号 [I]
    • コンストラクタの概要

      コンストラクタ 
      コンストラクタ 説明
      Formatter​(DataModel<?> model, String fmt)
      データモデルとフォーマットを指定してフォーマッターを構築します。
    • フィールドの詳細

      • JOINT_STRING

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

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

        public static final int SYS_JSON
        特殊カラム名の定義: [ROW.JSON]
        関連項目:
        定数フィールド値
      • SYS_ROWNUM

        public static final int SYS_ROWNUM
        6.9.5.0 (2018/04/23) 特殊カラム名の定義: 行番号 [I]
        関連項目:
        定数フィールド値
      • NO_DISPLAY

        public static final int NO_DISPLAY
        特殊カラム名の定義: 非表示
        関連項目:
        定数フィールド値
    • コンストラクタの詳細

      • Formatter

        public Formatter​(DataModel<?> model,
                         String fmt)
        データモデルとフォーマットを指定してフォーマッターを構築します。
        パラメータ:
        model - データモデル
        fmt - [カラム名]形式のフォーマットデータ
        変更履歴:
        6.4.3.4 (2016/03/11) Formatterに新しいコンストラクターを追加する。
    • メソッドの詳細

      • getValue

        public String getValue​(int row,
                               int clm)
        column にあるセルの属性値をStringに変換して返します。
        パラメータ:
        row - 処理中の行番号
        clm - 値が参照されるカラム番号
        戻り値:
        指定されたセルの値
        変更履歴:
        6.4.3.2 (2016/02/19) 値が null の場合は、ゼロ文字列を設定する。
      • getFormatString

        public String getFormatString​(int row)
        指定の 行番号に対する、DataModel を元に作成したフォーマット文字列を返します。
        パラメータ:
        row - 行番号( [I]フォーマット処理用 )
        戻り値:
        指定のObject配列を元に作成したフォーマット文字列
        変更履歴:
        7.2.9.0 (2020/10/12) type(#,$,!)を考慮した関数型I/F対応
        このメソッドは、nullを返しません
      • getFormatString

        public String getFormatString​(int row,
                                      String separator)
        指定の 行番号に対する、DataModel を元に作成したフォーマット文字列を返します。 データはseparatorで指定された区切り文字で囲まれて返されます。
        パラメータ:
        row - 行番号( [I]フォーマット処理用 )
        separator - セパレーター
        戻り値:
        指定のObject配列を元に作成したフォーマット文字列
        変更履歴:
        7.2.9.0 (2020/10/12) type(#,$,!)を考慮した関数型I/F対応
        このメソッドは、nullを返しません
      • getFormatString

        public String getFormatString​(int row,
                                      String separator,
                                      Formatter.TriFunction<String,​Character,​String,​String> triFunc)
        指定の 行番号に対する、DataModel を元に作成したフォーマット文字列を返します。 データはseparatorで指定された区切り文字で囲まれて返されます。
        パラメータ:
        row - 行番号( [I]フォーマット処理用 )
        separator - セパレーター
        triFunc - TriFunction関数
        戻り値:
        内部のDataModelを元に作成したフォーマット文字列
        変更履歴:
        4.3.1.1 (2008/08/23) switch に、default label が存在しないため、追加, 6.4.3.2 (2016/02/19) 値が null の場合は、ゼロ文字列を設定する。, 7.2.9.0 (2020/10/12) type(#,$,!)を考慮した関数型I/F対応
        このメソッドは、nullを返しません
      • getLineFormatString

        public String getLineFormatString​(DataModel<Object> model)
        引数の DataModel を元に作成したフォーマット文字列を返します。 これは、簡易処理で、DataModel オブジェクトは、実質的には、LineModel です。 パッケージの関連から、引数が、DataModel オブジェクトになっています。
        パラメータ:
        model - DataModelオブジェクト(実質的には、LineModelオブジェクト)
        戻り値:
        引数のDataModelを元に作成したフォーマット文字列
        変更履歴:
        6.3.2.0 (2015/07/10) LineModelで、Formatter処理できるように、対応します。
        このメソッドは、nullを返しません
      • getQueryFormatString

        public String getQueryFormatString()
        先のフォーマット情報の[カラム名]を、クエスチョンマークに置き換えたフォーマットを返します。 これは、java.sql.PreparedStatement 形式のQuery文字列を合成する場合に使用します。
        戻り値:
        PreparedStatement形式のQuery文字列
        このメソッドは、nullを返しません
      • getClmKeys

        public String[] getClmKeys()
        フォーマットのカラム名配列を返します。
        戻り値:
        フォーマットのカラム名配列
        このメソッドは、nullを返しません
      • getClmPrms

        public String[] getClmPrms()
        フォーマットのカラムのパラメータ配列を返します。 [#XXX] 、[$XXX]、[!XXX] で、カラムオブジェクトに渡すパラメータを、[$XXX param]形式で 指定できます。param 部分を、カラム配列と関連付けて、返します。 未設定のパラメータは、null が設定されています。
        戻り値:
        フォーマットのパラメータ名配列
        変更履歴:
        6.8.3.1 (2017/12/01) [$XXXX param] で、RendererValueのパラメータを動的に変更できます。
        このメソッドは、nullを返しません
      • getClmParam

        public String getClmParam​(int ad)
        フォーマットの指定の位置のカラムのパラメータを返します。 [#XXX] 、[$XXX]、[!XXX] で、カラムオブジェクトに渡すパラメータを、[$XXX param]形式で 指定できます。param 部分を、カラム番号を指定することで、返します。 未設定のパラメータは、null が設定されています。
        パラメータ:
        ad - パラメータのアドレス(カラムと同じ位置)
        戻り値:
        フォーマットのパラメータ
        変更履歴:
        6.8.3.1 (2017/12/01) [$XXXX param] で、RendererValueのパラメータを動的に変更できます。
        このメソッドは、nullを返しません
      • getClmNos

        public int[] getClmNos()
        フォーマットのカラム番号配列を返します。
        戻り値:
        フォーマットのカラム番号配列
        このメソッドは、nullを返しません
      • getFormat

        public String[] getFormat()
        フォーマット配列を返します。
        戻り値:
        フォーマット配列
        このメソッドは、nullを返しません
      • getType

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

        public String getJson​(int row)
        行毎の全データのJavaScriptオブジェクト形式 を返します。 JavaScriptオブジェクト形式とは、{ key:val,key:val,... }の形式で、 ここでは、内部設定された DataModel のすべてのカラム名をキーに、 引数で渡された 配列を 値として使用します。
        パラメータ:
        row - (DataModelの)行番号
        戻り値:
        指定の行番号に対応する全データのJSON形式データ
        変更履歴:
        6.4.3.2 (2016/02/19) 値が null の場合は、ゼロ文字列を設定する。
        このメソッドは、nullを返しません