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

## クラス OgBuilder

- java.lang.Object
- - org.opengion.fukurou.system.OgBuilder

- すべての実装されたインタフェース:
    `java.lang.CharSequence`

      public final class OgBuilder
      extends java.lang.Object
      implements java.lang.CharSequence

  内部にStringBuilderを持った、文字列連結クラスです。 文字列連結時に、取り込む／取り込まないの判断を行う、boolean 付きの appendIf メソッドや、null値を無視する append など、用意しています。
  機能分類
    その他
  変更履歴:
    6.4.4.1 (2016/03/18) 新規追加, 6.4.5.0 (2016/04/08) CharSequenceインタフェースの追加
  バージョン
    6.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK8.0,

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

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `OgBuilder()` | デフォルトコンストラクター

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `OgBuilder` | `append​(java.lang.CharSequence... arys)` | 引数の可変長文字列を追加する appendです。
    `OgBuilder` | `appendCase​(boolean flag, java.lang.CharSequence trueStr, java.lang.CharSequence... falseStr)` | CharSequenceを追加するかどうか判定するフラグ付きのappendメソッドです。
    `OgBuilder` | `appendCase​(boolean flag, java.util.function.Supplier<java.lang.CharSequence[]> trueFunc, java.util.function.Supplier<java.lang.CharSequence[]> falseFunc)` | CharSequenceを追加するかどうか判定するフラグ付きのappendメソッドです。
    `OgBuilder` | `appendCR​(java.lang.CharSequence... arys)` | 引数の可変長CharSequenceを追加し、最後に改行コードを追加する appendです。
    `OgBuilder` | `appendIf​(boolean flag, java.lang.CharSequence... arys)` | 文字列を追加するかどうか判定するフラグ付きのappendメソッドです。
    `<T,​R> OgBuilder` | `appendIf​(boolean flag, T key, java.util.function.Function<? super T,​? extends R> func)` | 関数を実行した結果を追加するかどうか判定するフラグ付きのappendメソッドです。
    `OgBuilder` | `appendIfCR​(boolean flag, java.lang.CharSequence... arys)` | 引数の可変長CharSequenceを追加し、最後に改行コードを追加する appendです。
    `OgBuilder` | `appendNN​(java.lang.CharSequence... arys)` | 引数の可変長CharSequenceを追加する appendです。
    `<R> OgBuilder` | `appendRoop​(int st, int ed, java.lang.String delimiter, java.util.function.IntFunction<R> func)` | 開始から終了までの引数を有する関数を実行した結果を追加するときのappendメソッドです。
    `<R> OgBuilder` | `appendRoop​(int st, int ed, java.util.function.IntFunction<R> func)` | 開始から終了までの引数を有する関数を実行した結果を追加するときのappendメソッドです。
    `char` | `charAt​(int index)` | 指定されたインデックスのchar値を返します。
    `OgBuilder` | `clear()` | 内部のStringBuilderをクリアします。
    `OgBuilder` | `delete​(java.lang.String... arys)` | 引数の可変長文字列を内部バッファーから削除します。
    `java.lang.StringBuilder` | `getBuilder()` | 内部のStringBuilderそのものを返します。
    `OgBuilder` | `join​(java.lang.String delimiter, java.lang.CharSequence... arys)` | 連結文字列を、使用して、可変長引数のCharSequenceを連結して返します。
    `int` | `length()` | この文字シーケンスの長さを返します。
    `java.lang.CharSequence` | `subSequence​(int start, int end)` | この文字シーケンスの長さを返します。
    `java.lang.String` | `toString()` | このシーケンス内のデータを表す文字列を返します。

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

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

    - ### インタフェースから継承されたメソッド java.lang.CharSequence

      `chars, codePoints`

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

    - #### OgBuilder

          public OgBuilder()

      デフォルトコンストラクター
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加

  - ### メソッドの詳細

    - #### append

          public OgBuilder append​(java.lang.CharSequence... arys)

      引数の可変長文字列を追加する appendです。 引数の可変長文字列の個々の文字列が null の場合は、追加しません。
      パラメータ:
        `arys` - 追加する可変長CharSequence
      戻り値:
        自分自身
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更
      このメソッドは、nullを返しません

    - #### join

          public OgBuilder join​(java.lang.String delimiter,
                                java.lang.CharSequence... arys)

      連結文字列を、使用して、可変長引数のCharSequenceを連結して返します。 連結文字列が、null の場合は、CharSequenceをそのまま連結していきます。 連結するCharSequenceが null の場合は、連結しません。 連結文字列は、一番最後は出力されません。
      パラメータ:
        `delimiter` - 連結文字列
        `arys` - 連結する可変長CharSequence
      戻り値:
        自分自身
      変更履歴:
        6.4.5.0 (2016/04/08) 新規追加
      このメソッドは、nullを返しません

    - #### delete

          public OgBuilder delete​(java.lang.String... arys)

      引数の可変長文字列を内部バッファーから削除します。 引数の可変長文字列の個々の文字列が null の場合は、なにもしません。 また、内部バッファーに存在しない場合も、何もしません。 ※ 削除の指定は、CharSequenceではなく文字列です。
      パラメータ:
        `arys` - 削除する可変長文字列
      戻り値:
        自分自身
      変更履歴:
        6.4.5.0 (2016/04/08) 新規追加
      このメソッドは、nullを返しません

    - #### appendCR

          public OgBuilder appendCR​(java.lang.CharSequence... arys)

      引数の可変長CharSequenceを追加し、最後に改行コードを追加する appendです。 引数の可変長CharSequenceの個々のCharSequenceが null の場合は、追加しません。 引数がnull値の場合は、改行コードのみ追加されます。
      パラメータ:
        `arys` - 追加する文字列可変長(nullは追加しません)
      戻り値:
        自分自身
      関連項目:
        `append( CharSequence... )`
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更
      このメソッドは、nullを返しません

    - #### appendNN

          public OgBuilder appendNN​(java.lang.CharSequence... arys)

      引数の可変長CharSequenceを追加する appendです。 引数の可変長CharSequenceの個々のCharSequenceの中に、一つでも null の場合は、 すべて追加しません。 例えば、key="AAAA" のような文字列を構築したい場合、AAAA 部分が、nullの 場合は、key= の箇所も出しません。
      パラメータ:
        `arys` - 追加する可変長CharSequence
      戻り値:
        自分自身
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更, 6.9.0.2 (2018/02/13) not null の対象に、ゼロ文字列も含むようにします。
      このメソッドは、nullを返しません

    - #### appendIf

          public OgBuilder appendIf​(boolean flag,
                                    java.lang.CharSequence... arys)

      文字列を追加するかどうか判定するフラグ付きのappendメソッドです。 引数の可変長CharSequenceの個々のCharSequenceが null の場合は、追加しません。
      パラメータ:
        `flag` - 文字列を追加するかどうか判定するフラグ(trueの時のみ追加)
        `arys` - 追加する可変長CharSequence
      戻り値:
        自分自身
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更
      このメソッドは、nullを返しません

    - #### appendIfCR

          public OgBuilder appendIfCR​(boolean flag,
                                      java.lang.CharSequence... arys)

      引数の可変長CharSequenceを追加し、最後に改行コードを追加する appendです。 引数の可変長CharSequenceの個々のCharSequenceが null の場合は、追加しません。 引数がnull値の場合は、改行コードのみ追加されます。
      パラメータ:
        `flag` - 文字列を追加するかどうか判定するフラグ(trueの時のみ追加)
        `arys` - 追加する可変長CharSequence
      戻り値:
        自分自身
      関連項目:
        `appendIf( boolean,CharSequence... )`
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更
      このメソッドは、nullを返しません

    - #### appendIf

          public <T,​R> OgBuilder appendIf​(boolean flag,
                                                T key,
                                                java.util.function.Function<? super T,​? extends R> func)

      関数を実行した結果を追加するかどうか判定するフラグ付きのappendメソッドです。 実行した結果が、null値の場合は、無視します。 引数が関数型インタフェースなので、遅延実行することが可能です。
      型パラメータ:
        `T` - 関数型インタフェース(Function)の引数(総称型)
        `R` - 関数型インタフェース(Function)の戻り値(総称型)
      パラメータ:
        `flag` - 追加するかどうか判定するフラグ(trueの時のみ追加)
        `key` - 関数の引数(総称型)
        `func` - 関数を実行した結果を追加する関数型(結果がnullの場合は追加しません)
      戻り値:
        自分自身
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加
      このメソッドは、nullを返しません

    - #### appendRoop

          public <R> OgBuilder appendRoop​(int st,
                                          int ed,
                                          java.util.function.IntFunction<R> func)

      開始から終了までの引数を有する関数を実行した結果を追加するときのappendメソッドです。 実行した結果が、null値の場合は、無視します。 引数が関数型インタフェースなので、遅延実行することが可能です。 関数の結果は、オブジェクトを返します。それを、内部でappendループします。
      型パラメータ:
        `R` - IntFunctionの戻り値の仮想型
      パラメータ:
        `st` - ループカウンタの初期値(この値を含む)
        `ed` - ループカウンタの終了値(この値を含まない)
        `func` - 関数を実行した結果を追加する関数型(結果がnullの場合は追加しません)
      戻り値:
        自分自身
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加, 6.4.4.2 (2016/04/01) IntFunction に変更。配列ではなく、オブジェクトに変更。
      このメソッドは、nullを返しません

    - #### appendRoop

          public <R> OgBuilder appendRoop​(int st,
                                          int ed,
                                          java.lang.String delimiter,
                                          java.util.function.IntFunction<R> func)

      開始から終了までの引数を有する関数を実行した結果を追加するときのappendメソッドです。 連結文字列に null は指定できません。 連結文字列は、一番最後には使用しません。
      型パラメータ:
        `R` - IntFunctionの戻り値の仮想型
      パラメータ:
        `st` - ループカウンタの初期値(この値を含む)
        `ed` - ループカウンタの終了値(この値を含まない)
        `delimiter` - 文字列連結する場合の文字列。nullは指定できません。
        `func` - 関数を実行した結果を追加する関数型(結果がnullの場合は追加しません)
      戻り値:
        自分自身
      変更履歴:
        6.4.4.2 (2016/04/01) 連結文字列を指定。
      このメソッドは、nullを返しません

    - #### appendCase

          public OgBuilder appendCase​(boolean flag,
                                      java.lang.CharSequence trueStr,
                                      java.lang.CharSequence... falseStr)

      CharSequenceを追加するかどうか判定するフラグ付きのappendメソッドです。 trueの場合は、第一引数を、falseの場合は、第二引数を追加します。 第二引数は、可変長CharSequenceです。 ともに、CharSequenceがnullの場合は、無視します。
      パラメータ:
        `flag` - CharSequenceを追加するかどうか判定するフラグ
        `trueStr` - flagがtrueの場合に追加するCharSequence(一つだけ)
        `falseStr` - flagがfalseの場合に追加する可変長CharSequence
      戻り値:
        自分自身
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更
      このメソッドは、nullを返しません

    - #### appendCase

          public OgBuilder appendCase​(boolean flag,
                                      java.util.function.Supplier<java.lang.CharSequence[]> trueFunc,
                                      java.util.function.Supplier<java.lang.CharSequence[]> falseFunc)

      CharSequenceを追加するかどうか判定するフラグ付きのappendメソッドです。 trueの場合は、第一引数を、falseの場合は、第二引数を追加します。 第一引数、第二引数ともに、配列を返すSupplierクラスです。 ともに、個々のCharSequenceがnullの場合は、無視します。
      パラメータ:
        `flag` - CharSequenceを追加するかどうか判定するフラグ
        `trueFunc` - flagがtrueの場合に実行するFunctionオブジェクト
        `falseFunc` - flagがfalseの場合に追加するFunctionオブジェクト
      戻り値:
        自分自身
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加, 6.4.4.2 (2016/04/01) 引数を、Supplierクラスに変更して、結果を複数指定できるようにします。, 6.4.5.0 (2016/04/08) 引数を可変長CharSequenceに変更
      このメソッドは、nullを返しません

    - #### getBuilder

          public java.lang.StringBuilder getBuilder()

      内部のStringBuilderそのものを返します。 StringBuilderを関数等に渡して追加処理する場合に、 内部のStringBuilderを渡して、処理させることが出来ます。
      戻り値:
        内部のStringBuilder
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加
      このメソッドは、nullを返しません

    - #### clear

          public OgBuilder clear()

      内部のStringBuilderをクリアします。 具体的には、StringBuilder#setLength(0) を実行します。
      戻り値:
        内部のStringBuilder
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加

    - #### charAt

          public char charAt​(int index)

      指定されたインデックスのchar値を返します。 インデックスは、0からlength() - 1の範囲になります。配列のインデックス付けの場合と同じように、 シーケンスの最初のcharのインデックスは0、次の文字のインデックスは1と続きます。 インデックスで指定されたchar値がサロゲートの場合、サロゲート値が返されます。
      定義:
        `charAt` インタフェース内 `java.lang.CharSequence`
      パラメータ:
        `index` - 返されるchar値のインデックス
      戻り値:
        指定されたchar値
      関連項目:
        `CharSequence.charAt(int)`
      変更履歴:
        6.4.5.0 (2016/04/08) 新規追加

    - #### length

          public int length()

      この文字シーケンスの長さを返します。 長さはシーケンス内の16ビットcharの数に等しくなります。
      定義:
        `length` インタフェース内 `java.lang.CharSequence`
      戻り値:
        このシーケンスのcharの数
      関連項目:
        `CharSequence.length()`
      変更履歴:
        6.4.5.0 (2016/04/08) 新規追加

    - #### subSequence

          public java.lang.CharSequence subSequence​(int start,
                                                    int end)

      この文字シーケンスの長さを返します。 長さはシーケンス内の16ビットcharの数に等しくなります。
      定義:
        `subSequence` インタフェース内 `java.lang.CharSequence`
      パラメータ:
        `start` - 開始インデックス(この値を含む)
        `end` - 終了インデックス(この値を含まない)
      戻り値:
        指定されたサブシーケンス
      関連項目:
        `CharSequence.subSequence(int,int)`
      変更履歴:
        6.4.5.0 (2016/04/08) 新規追加

    - #### toString

          public java.lang.String toString()

      このシーケンス内のデータを表す文字列を返します。 新しいStringオブジェクトが割り当てられ、現在このオブジェクトで表されている 文字シーケンスを含むように初期化されます。 その後、このStringが返されます。その後このシーケンスが変更されても、Stringの内容には影響ありません。
      定義:
        `toString` インタフェース内 `java.lang.CharSequence`
      オーバーライド:
        `toString` クラス内 `java.lang.Object`
      戻り値:
        この文字シーケンスの文字列表現。
      関連項目:
        `CharSequence.toString()`
      変更履歴:
        6.4.4.1 (2016/03/18) 新規追加
      このメソッドは、nullを返しません