パッケージ org.opengion.fukurou.util

## クラス FixLengthData

- java.lang.Object
- - org.opengion.fukurou.util.FixLengthData

-     public final class FixLengthData
      extends java.lang.Object

  FixLengthData.java は、固定長データを作成するための簡易クラスです。 データの項目(String[])を、それぞれの中で最大桁数にあわせて、スペース埋めします。 各項目間に、追加するスペース数は、setAddLength( int[] ) メソッドで、 各項目のタイプ(半角文字、全角混在、数字)の指定は、setType( int[] ) メソッド行います。 このクラスは同期処理は保障されていません。
  変更履歴:
    5.6.6.0 (2013/07/05) keys の整合性チェックを追加
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

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

    フィールド
    修飾子とタイプ | フィールド | 説明
    --- | --- | ---
    `static java.lang.String` | `ENCODE` | 初期 ENCODE 名 "Windows-31J"
    `static int` | `K` | 項目タイプの定義変数：K:半角全角混在 2
    `static int` | `S` | 項目タイプの定義変数：S:数字(前空白) 1
    `static int` | `S0` | 項目タイプの定義変数：X9:数字(前ゼロ) 3
    `static int` | `T` | 項目間空白配列の定義変数：T:タブ区切り -1
    `static int` | `T2` |
    `static int` | `T3` |
    `static int` | `T4` |
    `static int` | `X` | 項目タイプの定義変数：X:半角文字 0

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

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `FixLengthData​(int len)` | データの項目数を指定して、オブジェクトを構築します。
    `FixLengthData​(int[] inAddLen, int[] inType)` | 項目間空白配列と各項目のタイプ配列を指定して、オブジェクトを構築します。

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `void` | `addAllListData​(java.lang.String[][] inData)` | データの各項目に対応した配列データを、すべて設定します。
    `void` | `addListData​(java.lang.String... inData)` | データの各項目に対応した配列データを設定します。
    `void` | `clear()` | 内部変数のデータと、最大値のキャッシュをクリアします。
    `java.lang.String` | `getAllFixData()` | 内部登録済みのすべてのデータを連結して出力します。
    `java.lang.StringBuilder` | `getAllFixData​(java.lang.StringBuilder buf)` | 内部登録済みのすべてのデータを引数のStringBuilderに連結して返します。
    `java.lang.String` | `getFixData​(int line)` | 指定の行に対する固定文字数に設定された文字列を返します。
    `void` | `setAddLength​(int... inAddLen)` | データの項目に対応した、固定時の間に挿入する空白文字数を指定します。
    `void` | `setType​(int... inType)` | データの各項目のタイプ(半角文字、数字)を指定します。

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

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

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

    - #### X

          public static final int X

      項目タイプの定義変数：X:半角文字 0
      関連項目:
        定数フィールド値

    - #### S

          public static final int S

      項目タイプの定義変数：S:数字(前空白) 1
      関連項目:
        定数フィールド値

    - #### K

          public static final int K

      項目タイプの定義変数：K:半角全角混在 2
      関連項目:
        定数フィールド値

    - #### S0

          public static final int S0

      項目タイプの定義変数：X9:数字(前ゼロ) 3
      関連項目:
        定数フィールド値

    - #### T

          public static final int T

      項目間空白配列の定義変数：T:タブ区切り -1
      関連項目:
        定数フィールド値

    - #### T2

          public static final int T2

      関連項目:
        定数フィールド値

    - #### T3

          public static final int T3

      関連項目:
        定数フィールド値

    - #### T4

          public static final int T4

      関連項目:
        定数フィールド値

    - #### ENCODE

          public static final java.lang.String ENCODE

      初期 ENCODE 名 "Windows-31J"
      関連項目:
        定数フィールド値

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

    - #### FixLengthData

          public FixLengthData​(int len)

      データの項目数を指定して、オブジェクトを構築します。
      パラメータ:
        `len` - データの項目数
      変更履歴:
        5.6.6.0 (2013/07/05) addLen の代わりに、addSpc で管理します。

    - #### FixLengthData

          public FixLengthData​(int[] inAddLen,
                               int[] inType)

      項目間空白配列と各項目のタイプ配列を指定して、オブジェクトを構築します。 どちらも、int型配列なので、順番に注意してください。
      パラメータ:
        `inAddLen` - データの項目間空白配列
        `inType` - データの各項目のタイプ配列
      例外:
        `java.lang.IllegalArgumentException` - 引数が null の場合
      関連項目:
        `setAddLength( int[] )`, `setType( int[] )`
      変更履歴:
        5.6.6.0 (2013/07/05) 新規追加

  - ### メソッドの詳細

    - #### setAddLength

          public void setAddLength​(int... inAddLen)

      データの項目に対応した、固定時の間に挿入する空白文字数を指定します。 初期値は、0 です。
      パラメータ:
        `inAddLen` - データの項目間空白配列(可変長引数)
      例外:
        `java.lang.IllegalArgumentException` - 引数のデータ件数が、コンストラクタで指定した数と異なる場合
      変更履歴:
        5.6.6.0 (2013/07/05) addLen の代わりに、addSpc で管理します。

    - #### setType

          public void setType​(int... inType)

      データの各項目のタイプ(半角文字、数字)を指定します。 X:半角文字の場合は、データを前方に、余った分を後方にスペースを埋めます。 S:数字(前空白)の場合は、データを後方に、余った分を空白を前方に埋めます。 S0:数字(前ゼロ)の場合は、データを後方に、余った分をゼロを前方に埋めます。 K:半角全角混在の場合は、ENCODE(Windows-31J) で文字数を求めるとともに、X:半角文字と同様の処理を行います。 初期値は、X:半角文字 です。
      パラメータ:
        `inType` - データの各項目のタイプ配列(可変長引数)
      例外:
        `java.lang.IllegalArgumentException` - 引数のデータ件数が、コンストラクタで指定した数と異なる場合
      関連項目:
        `X`, `S`, `S0`, `K`

    - #### addListData

          public void addListData​(java.lang.String... inData)

      データの各項目に対応した配列データを設定します。 配列データを登録しながら、各項目の最大データ長をピックアップしていきます。
      パラメータ:
        `inData` - データの各項目の配列(可変長引数)
      例外:
        `java.lang.IllegalArgumentException` - 引数のデータ件数が、コンストラクタで指定した数と異なる場合

    - #### getFixData

          public java.lang.String getFixData​(int line)

      指定の行に対する固定文字数に設定された文字列を返します。 引数の行番号は、addListData(String[])メソッドで登録された順番です。
      パラメータ:
        `line` - 行番号(addListData で登録した順)
      戻り値:
        固定文字数に設定された文字列
      変更履歴:
        5.6.6.0 (2013/07/05) addLen の代わりに、addSpc で管理します。
      このメソッドは、nullを返しません

    - #### addAllListData

          public void addAllListData​(java.lang.String[][] inData)

      データの各項目に対応した配列データを、すべて設定します。 ここでは、配列の配列型データを受け取り、内部的に、addListData( String[] )を 実行しています。 簡易的なメソッドです。
      パラメータ:
        `inData` - データの各項目の配列データの配列
      例外:
        `java.lang.IllegalArgumentException` - 引数のデータ件数が、コンストラクタで指定した数と異なる場合
      関連項目:
        `addListData( String[] )`
      変更履歴:
        5.6.6.0 (2013/07/05) 新規追加

    - #### getAllFixData

          public java.lang.String getAllFixData()

      内部登録済みのすべてのデータを連結して出力します。 連結時には、改行コードを設定しています。
      戻り値:
        固定文字数に設定された文字列
      関連項目:
        `getFixData( int )`, `getAllFixData( StringBuilder )`
      変更履歴:
        5.6.6.0 (2013/07/05) getAllFixData( StringBuilder ) を使用するように内部処理を変更
      このメソッドは、nullを返しません

    - #### getAllFixData

          public java.lang.StringBuilder getAllFixData​(java.lang.StringBuilder buf)

      内部登録済みのすべてのデータを引数のStringBuilderに連結して返します。 連結時には、改行コードを設定しています。 return オブジェクトは、この引数と同一のオブジェクトです。
      パラメータ:
        `buf` - 連結に使用する StringBuilder
      戻り値:
        固定文字数に設定された StringBuilder(入力と同じ)
      関連項目:
        `getFixData( int )`, `getAllFixData()`
      変更履歴:
        5.6.6.0 (2013/07/05) 新規追加
      このメソッドは、nullを返しません

    - #### clear

          public void clear()

      内部変数のデータと、最大値のキャッシュをクリアします。 それ以外の変数(size、addLength、type)は、設定時のまま残っています。