クラス ArrayTableModel

  • すべての実装されたインタフェース:
    DataModel<java.lang.String>

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

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

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

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

      • ArrayTableModel

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

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

        public java.util.concurrent.ConcurrentMap<java.lang.Integer,​java.lang.String[]> getModifyVals()
        BizLogicで、データが変更された場合は、このMapで値の配列を返します。 Mapのキーは、インデックス(row)のIntegerオブジェクトです。値は、設定された String配列です。 なにも変更がされていなければ、空の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​(java.lang.String columnName)
        カラム名に対応する カラム番号を返します。 特殊なカラムが指定された場合は、負の値を返します。 例えば、[KEY.カラム名]、[I]、[ROW.ID] など、特定の負の値を返します。 また、カラム名が元のデータモデルに存在しない場合も、負の値か、 Exception を返します。負の値なのか、Exception なのかは、 実装に依存します。
        定義:
        getColumnNo インタフェース内 DataModel<java.lang.String>
        パラメータ:
        columnName - 値が参照されるカラム名
        戻り値:
        指定されたセルのカラム番号。存在しなければ、-1
        例外:
        java.lang.IllegalArgumentException - 引数のカラム名が null の場合
      • getColumnNos

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

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

        protected java.lang.String[][] getValues​(java.lang.String... clmNms)
        指定のカラム名引数に相当するデータを2重配列で返します。
        パラメータ:
        clmNms - 値が参照されるカラム名配列(可変長引数)
        戻り値:
        指定された名引数に相当するデータの2重配列
        変更履歴:
        6.8.5.0 (2018/01/09) 新規追加
        このメソッドは、nullを返しません
      • getValues

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

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

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

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

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

        public void setModifyType​(int row,
                                  java.lang.String modType)
        row 単位に変更タイプ(追加/変更/削除)をセットします。 このメソッドでは、データのバックアップは取りません。 タイプは始めに一度登録するとそれ以降に変更はかかりません。 なにも変更されていない場合は, ""(ゼロストリング)の状態です。
        定義:
        setModifyType インタフェース内 DataModel<java.lang.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<java.lang.String>
        パラメータ:
        clm - 値が参照される列
        戻り値:
        Nativeタイプ
        関連項目:
        NativeType
        変更履歴:
        5.1.8.0 (2010/07/01) NativeType#getType(String) のメソッドを使用するように変更。
      • toString

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