クラス ArrayTableModel

java.lang.Object
org.opengion.fukurou.business.ArrayTableModel
すべての実装されたインタフェース:
DataModel<String>

public final class ArrayTableModel extends Object implements DataModel<String>
業務ロジックを処理するためのテーブルモデルです。 このテーブルモデルでは、オブジェクト生成時に、カラム配列、値配列を元に、内部データを生成し、 その後は、行の追加や値の変更はできません。
変更履歴:
5.1.1.0 (2009/12/01) 新規作成
機能分類
業務ロジック
導入されたバージョン:
JDK1.6,
  • フィールドの概要

    インタフェースから継承されたフィールド org.opengion.fukurou.model.DataModel

    DELETE_TYPE, INSERT_TYPE, UPDATE_TYPE
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    ArrayTableModel(String[] nms, String[][] vs)
    引数に名前配列、値配列を指定したコンストラクター
    ArrayTableModel(String[] nms, String[][] vs, String[] ms)
    引数に名前配列、値配列、変更区分配列を指定したコンストラクター
  • メソッドの概要

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

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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • ArrayTableModel

      public ArrayTableModel(String[] nms, String[][] vs)
      引数に名前配列、値配列を指定したコンストラクター
      パラメータ:
      nms - 名前配列
      vs - 値2重配列
      例外:
      IllegalArgumentException - 引数の配列が不正な場合
    • ArrayTableModel

      public ArrayTableModel(String[] nms, String[][] vs, String[] ms)
      引数に名前配列、値配列、変更区分配列を指定したコンストラクター
      パラメータ:
      nms - 名前配列
      vs - 値2重配列
      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[] inVals, int rowNo)
      rowで指定された行番号(インデックス番号)に行を追加します。 値配列をセットする場合は、以下の条件を満たす必要があります。 1.行番号は、0~(rowCount-1) の範囲 2.値配列は、not null、かつ 1件以上 3.値配列の個数は、内部カラム数と同じ ここで登録した値は、内部の値配列と別管理されますので、セット後に、再びゲットしても ここでセットした値を取り出すことはできません。 また、同じ行番号でセットした場合は、後でセットした値が有効です。 ※ ここでの更新時に、modifyType は、設定されません。 必要であれば、setModifyType メソッドで個別に設定してください。 ※ インデックス(row)とは、このArrayTableModel に持つ vals 配列の行のインデックスです。 よって、オリジナルのDBTableModelの行番号ではありません。
      定義:
      setValues インタフェース内 DataModel<String>
      パラメータ:
      inVals - 配列値
      rowNo - 追加するインデックス
      例外:
      IllegalArgumentException - 引数が1,2,3の条件を満たさない場合。
      変更履歴:
      5.6.0.3 (2012/01/24) 変更された値を、書き戻す機能を追加します。, 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。
    • getModifyVals

      BizLogicで、データが変更された場合は、このMapで値の配列を返します。 Mapのキーは、インデックス(row)のIntegerオブジェクトです。値は、設定された String配列です。 なにも変更がされていなければ、空のConcurrentMapを返しましす。 ※ インデックス(row)とは、このArrayTableModel に持つ vals 配列の行のインデックスです。 よって、オリジナルのDBTableModelの行番号ではありません。
      戻り値:
      書き戻すためのMap<インデックス,値配列>
      関連項目:
      変更履歴:
      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<String>
      パラメータ:
      columnName - 値が参照されるカラム名
      戻り値:
      指定されたセルのカラム番号。存在しなければ、-1
      例外:
      IllegalArgumentException - 引数のカラム名が null の場合
    • getColumnNos

      public int[] getColumnNos(String[] clmNms)
      カラム名配列に対応する カラム番号配列を返します。 これは、#getColumnNo( String ) に対する 複数のカラム名を検索した 場合と同じです。
      パラメータ:
      clmNms - 値が参照されるカラム名配列(可変長引数)
      戻り値:
      指定されたセルのカラム番号配列。
      変更履歴:
      6.8.6.0 (2018/01/19) 可変長引数から、通常配列に変更。
      このメソッドは、nullを返しません
    • getNames

      public String[] getNames()
      カラム名配列を返します。
      定義:
      getNames インタフェース内 DataModel<String>
      戻り値:
      カラム名配列
      このメソッドは、nullを返しません
    • getValues

      String[][] getValues(String... clmNms)
      指定のカラム名引数に相当するデータを2重配列で返します。
      パラメータ:
      clmNms - 値が参照されるカラム名配列(可変長引数)
      戻り値:
      指定された名引数に相当するデータの2重配列
      変更履歴:
      6.8.5.0 (2018/01/09) 新規追加, 8.5.5.1 (2024/02/29) spotbugs CT_CONSTRUCTOR_THROW(コンストラクタで、Excweptionを出さない) class を final にすれば、警告は消える。
      このメソッドは、nullを返しません
    • getValues

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

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

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

      public int getRowCount()
      データテーブル内の行の数を返します。
      定義:
      getRowCount インタフェース内 DataModel<String>
      戻り値:
      モデルの行数
    • getModifyType

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

      public void setModifyType(int row, String modType)
      row 単位に変更タイプ(追加/変更/削除)をセットします。 このメソッドでは、データのバックアップは取りません。 タイプは始めに一度登録するとそれ以降に変更はかかりません。 なにも変更されていない場合は、""(ゼロストリング)の状態です。
      定義:
      setModifyType インタフェース内 DataModel<String>
      パラメータ:
      row - 値が参照される行
      modType - 変更タイプ(追加/変更/削除)
      変更履歴:
      6.7.9.1 (2017/05/19) インターフェースの見直しにより、追加
    • getNativeType

      public NativeType getNativeType(int clm)
      clm のNativeタイプを返します。 Nativeタイプはorg.opengion.fukurou.model.NativeTypeで定義されています。
      定義:
      getNativeType インタフェース内 DataModel<String>
      パラメータ:
      clm - 値が参照される列
      戻り値:
      Nativeタイプ
      関連項目:
      変更履歴:
      5.1.8.0 (2010/07/01) NativeType#getType(String) のメソッドを使用するように変更。
    • toString

      public String toString()
      このオブジェクトの文字列表記を返します。 デバッグ用です。
      オーバーライド:
      toString クラス内 Object
      戻り値:
      文字列表現
      関連項目:
      変更履歴:
      5.6.7.0 (2013/07/27) 新規追加
      このメソッドは、nullを返しません