org.opengion.fukurou.business

## クラス ArrayTableModel

- java.lang.Object
- - org.opengion.fukurou.business.ArrayTableModel

- すべての実装されたインタフェース:
    DataModel

      public class ArrayTableModel
      extends Object
      implements DataModel

       業務ロジックを処理するためのテーブルモデルです。

       このテーブルモデルでは、オブジェクト生成時に、カラム配列、値配列を元に、内部データを生成し、
       その後は、行の追加や値の変更はできません。

  変更履歴:

    5.1.1.0 (2009/12/01) 新規作成

  機能分類
    業務ロジック
  バージョン
    5.0
  作成者
    Hiroki Nakamura
  導入されたバージョン:
    JDK1.6,

- - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `ArrayTableModel(String[] nms, String[][] vs)` 引数に名前配列、値配列を指定したコンストラクター
    `ArrayTableModel(String[] nms, String[][] vs, String[] ms)` 引数に名前配列、値配列、変更区分配列を指定したコンストラクター

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `int` | `getColumnNo(String columnName)` カラム名に対応する カラム番号を返します。
    `int[]` | `getColumnNos(String[] clmNms)` カラム名配列に対応する カラム番号配列を返します。
    `String` | `getModifyType(int row)` row 単位に変更されたタイプ(追加/変更/削除)を返します。
    `ConcurrentMap` | `getModifyVals()` BizLogicで、データが変更された場合は、このMapで値の配列を返します。
    `String[]` | `getNames()` カラム名配列を返します。
    `NativeType` | `getNativeType(int clm)` clm のNativeタイプを返します。
    `int` | `getRowCount()` データテーブル内の行の数を返します。
    `String` | `getValue(int row, int clm)` row および clm にあるセルの属性値をStringに変換して返します。
    `String` | `getValue(int row, String clm)` row および clm にあるセルの属性値をStringに変換して返します。
    `String[]` | `getValues(int row)` row にあるセルの属性値を配列で返します。
    `void` | `setValues(String[] vals, int row)` rowで指定された行番号(インデックス番号)に行を追加します。
    `String` | `toString()` このオブジェクトの文字列表記を返します。

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

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

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

    - #### ArrayTableModel

          public ArrayTableModel(String[] nms,
                                 String[][] vs)

      引数に名前配列、値配列を指定したコンストラクター
      パラメータ:
        `nms` - 名前配列
        `vs` - 値２重配列
      例外:
        `IllegalArgumentException` - 引数の配列が不正な場合

    - #### ArrayTableModel

          public ArrayTableModel(String[] nms,
                                 String[][] vs,
                                 String[] ms)

      引数に名前配列、値配列、変更区分配列を指定したコンストラクター
      パラメータ:
        `nms` - 名前配列
        `vs` - 値２重配列
        `ms` - 変更区分の配列
      例外:
        `IllegalArgumentException` - 引数の配列が不正な場合
      変更履歴:

        5.6.7.0 (2013/07/27) エラーメッセージを判りやすくする。
        5.7.2.3 (2014/01/31) vsのチェック条件を戻す
        5.7.3.1 (2014/02/14) nmsのチェック条件も戻す

  - ### メソッドの詳細

    - #### setValues

          public void setValues(String[] vals,
                                int row)

      rowで指定された行番号(インデックス番号)に行を追加します。 値配列をセットする場合は、以下の条件を満たす必要があります。 １．行番号は、0～(rowCount-1) の範囲 ２．値配列は、not null、 かつ １件以上 ３．値配列の個数は、内部カラム数と同じ ここで登録した値は、内部の値配列と別管理されますので、セット後に、再びゲットしても ここでセットした値を取り出すことはできません。 また、同じ行番号でセットした場合は、後でセットした値が有効です。 ※ インデックス(row)とは、このArrayTableModel に持つ vals 配列の行のインデックスです。 よって、オリジナルのDBTableModelの行番号ではありません。
      定義:
        `setValues` インタフェース内 `DataModel`
      パラメータ:
        `vals` - 配列値
        `row` - 追加するインデックス
      例外:
        `IllegalArgumentException` - 引数が１，２，３の条件を満たさない場合。
      変更履歴:

        5.6.0.3 (2012/01/24) 変更された値を、書き戻す機能を追加します。
        6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。

    - #### getModifyVals

          public ConcurrentMap getModifyVals()

      BizLogicで、データが変更された場合は、このMapで値の配列を返します。 Mapのキーは、インデックス(row)のIntegerオブジェクトです。値は、設定された String配列です。 // * なにも変更がされていなければ、null を返します。 なにも変更がされていなければ、空のConcurrentMapを返しましす。 ※ インデックス(row)とは、このArrayTableModel に持つ vals 配列の行のインデックスです。 よって、オリジナルのDBTableModelの行番号ではありません。
      戻り値:
        書き戻すためのMap＜インデックス,値配列＞
      関連項目:
        `AbstractBizLogic.isRequireTable()`
      変更履歴:

        5.6.0.3 (2012/01/24) 変更された値を、書き戻すためのMap<インデックス,値配列> を返します。
        6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。
        6.4.3.3 (2016/03/04) 変更が無い場合は、nulllではなく、空のConcurrentMapを返しましす。

      このメソッドは、nullを返しません

    - #### getColumnNo

          public int getColumnNo(String columnName)

      カラム名に対応する カラム番号を返します。 特殊なカラムが指定された場合は、負の値を返します。 例えば、[KEY.カラム名]、[I]、[ROW.ID] など、特定の負の値を返します。 また、カラム名が元のデータモデルに存在しない場合も、負の値か、 Exception を返します。負の値なのか、Exception なのかは、 実装に依存します。
      定義:
        `getColumnNo` インタフェース内 `DataModel`
      パラメータ:
        `columnName` - 値が参照されるカラム名
      戻り値:
        指定されたセルのカラム番号。存在しなければ、-1
      例外:
        `IllegalArgumentException` - 引数のカラム名が null の場合

    - #### getColumnNos

          public int[] getColumnNos(String[] clmNms)

      カラム名配列に対応する カラム番号配列を返します。 これは、#getColumnNo( String ) に対する 複数のカラム名を検索した 場合と同じです。
      パラメータ:
        `clmNms` - 値が参照されるカラム名配列(可変長引数)
      戻り値:
        指定されたセルのカラム番号配列。
      このメソッドは、nullを返しません

    - #### getNames

          public String[] getNames()

      カラム名配列を返します。
      定義:
        `getNames` インタフェース内 `DataModel`
      戻り値:
        カラム名配列
      このメソッドは、nullを返しません

    - #### getValues

          public String[] getValues(int row)

      row にあるセルの属性値を配列で返します。
      定義:
        `getValues` インタフェース内 `DataModel`
      パラメータ:
        `row` - 値が参照される行
      戻り値:
        指定されたセルの属性値配列
      このメソッドは、nullを返しません

    - #### getValue

          public String getValue(int row,
                                 int clm)

      row および clm にあるセルの属性値をStringに変換して返します。
      定義:
        `getValue` インタフェース内 `DataModel`
      パラメータ:
        `row` - 値が参照される行
        `clm` - 値が参照される列
      戻り値:
        指定されたセルの値

    - #### getValue

          public String getValue(int row,
                                 String clm)

      row および clm にあるセルの属性値をStringに変換して返します。
      パラメータ:
        `row` - 値が参照される行
        `clm` - 値が参照される列(キー)
      戻り値:
        指定されたセルの値

    - #### getRowCount

          public int getRowCount()

      データテーブル内の行の数を返します。
      戻り値:
        モデルの行数

    - #### getModifyType

          public String getModifyType(int row)

      row 単位に変更されたタイプ(追加/変更/削除)を返します。 タイプは始めに一度登録するとそれ以降に変更はかかりません。 つまり、始めに 追加で作成したデータは、その後変更があっても追加のままです。 なにも変更されていない場合は, ""(ゼロストリング)を返します。
      パラメータ:
        `row` - 値が参照される行
      戻り値:
        変更されたタイプの値

    - #### getNativeType

          public NativeType getNativeType(int clm)

      clm のNativeタイプを返します。 Nativeタイプはorg.opengion.fukurou.model.NativeTypeで定義されています。
      定義:
        `getNativeType` インタフェース内 `DataModel`
      パラメータ:
        `clm` - 値が参照される列
      戻り値:
        Nativeタイプ
      関連項目:
        `NativeType`
      変更履歴:

        5.1.8.0 (2010/07/01) NativeType#getType(String) のメソッドを使用するように変更。

    - #### toString

          public String toString()

      このオブジェクトの文字列表記を返します。 デバッグ用です。
      オーバーライド:
        `toString` クラス内 `Object`
      戻り値:
        文字列表現
      関連項目:
        `Object.toString()`
      変更履歴:

        5.6.7.0 (2013/07/27) 新規追加

      このメソッドは、nullを返しません

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