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

# クラス FixLengthData

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

public final class FixLengthData extends Object
FixLengthData.java は、固定長データを作成するための簡易クラスです。 データの項目(String[])を、それぞれの中で最大桁数にあわせて、スペース埋めします。 各項目間に、追加するスペース数は、setAddLength( int[] ) メソッドで、 各項目のタイプ(半角文字、全角混在、数字)の指定は、setType( int[] ) メソッド行います。 このクラスは同期処理は保障されていません。

変更履歴:
  5.6.6.0 (2013/07/05) keys の整合性チェックを追加
導入されたバージョン:
  JDK5.0,

- ## フィールドの概要

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

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

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

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `void`
  `addAllListData(String[][] inData)`
  データの各項目に対応した配列データを、すべて設定します。
  `void`
  `addListData(String... inData)`
  データの各項目に対応した配列データを設定します。
  `void`
  `clear()`
  内部変数のデータと、最大値のキャッシュをクリアします。
  `String`
  `getAllFixData()`
  内部登録済みのすべてのデータを連結して出力します。
  `StringBuilder`
  `getAllFixData(StringBuilder buf)`
  内部登録済みのすべてのデータを引数のStringBuilderに連結して返します。
  `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
    項目間空白配列の定義変数：T:タブ区切り -2
    関連項目:
      - 定数フィールド値

  - ### T3

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

  - ### T4

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

  - ### ENCODE

    public static final 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` - データの各項目のタイプ配列
    例外:
      `IllegalArgumentException` - 引数が null の場合
    関連項目:
      - `setAddLength(int[])`
      - `setType(int[])`
    変更履歴:
      5.6.6.0 (2013/07/05) 新規追加

- ## メソッドの詳細

  - ### setAddLength

    public void setAddLength(int... inAddLen)
    データの項目に対応した、固定時の間に挿入する空白文字数を指定します。 初期値は、0 です。
    パラメータ:
      `inAddLen` - データの項目間空白配列(可変長引数)
    例外:
      `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` - データの各項目のタイプ配列(可変長引数)
    例外:
      `IllegalArgumentException` - 引数のデータ件数が、コンストラクタで指定した数と異なる場合
    関連項目:
      - `X`
      - `S`
      - `S0`
      - `K`

  - ### addListData

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

  - ### getFixData

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

  - ### addAllListData

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

  - ### getAllFixData

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

  - ### getAllFixData

    public StringBuilder getAllFixData(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)は、設定時のまま残っています。