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

クラス TagBuffer

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

public final class TagBuffer extends Object
TagBuffer.java は、共通的に使用される 簡易タグ作成クラスです。 ここでは、4つの形式(TAG , CSS , JSON , ARRAY )をサポートします。 TAG形式: BODYなし <tag key1="val1" key2="val2" ・・・/> BODYあり <tag key1="val1" key2="val2" ・・・>body</tag> CSS形式: { key1:val1; key2:val2; ・・・ } JSON形式: 文字 { "key1":"val1", "key2":"val2", ・・・ } 数値 { "key1":num1 , "key2":num2 , ・・・ } ARRAY形式: 文字 [ "val1", "val2", ・・・ ] 数値 [ num1 , num2 , ・・・ ] これらの形式は、#startTag( String ) , #startCss( String ) , #startJson() , #startArray() メソッドで始まり、#make() で、完了します。 完了とは、内部の StringBuilder に書き込まれることを意味しますので、再び、 startXXX()メソッドから始めることが可能です。 つまり、一つのインスタンスに、TAGやCSSをまとめて追記していくことが出来ます。 最後に、#toString() メソッドで、内部の StringBuilder を文字列として返します。 TagBuffer クラスの中身を全面的に見直しています。また、過去のTagBufferと互換性を取るための メソッドも残していますが、順次、削除していく予定です。 もっと高度な機能が必要であれば、Attributes をご参照ください。
変更履歴:
7.0.1.0 (2018/10/15) 新規作成
機能分類
ユーティリティ
導入されたバージョン:
JDK8.0,
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    デフォルトコンストラクター
    タグ名を指定した、タグ構築用のコンストラクター これは、TagBuffer クラスとの互換性の為に用意されたコンストラクターです。
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    add(String val)
    データの登録エリアのバッファに直接値を追加します。
    add(String[] keys, String[] vals)
    キー配列と値配列のセットを、追加します。
    add(String key, String val)
    キーと値のセットを、追加します。
    add(String key, String val, boolean isUse)
    キーと値のセットを、追加します(データ形式 ARRAY以外有効)。
    addBody(String... vals)
    データの BODY部のバッファに直接値を追加します(データ形式 TAGのみ有効)。
    addBody(String val, boolean isUse)
    データの BODY部のバッファに直接値を追加します(データ形式 TAGのみ有効)。
    addBuffer(String... vals)
    データ本体のバッファに直接値を追加します。
    addBuffer(String val, boolean isUse)
    データ本体のバッファに直接値を追加します。
    addNum(String... vals)
    データの登録エリアに、数値型として値を追加します(データ形式 ARRAYのみ有効)。
    addNum(String val, boolean isUse)
    データの登録エリアに、数値型として値を追加します(データ形式 ARRAYのみ有効)。
    addOptions(String... vals)
    データの登録エリアのバッファに直接値を追加します。
    addOptions(String val, boolean isUse)
    データの登録エリアのバッファに直接値を追加します。
    addStr(String... vals)
    データの登録エリアに、文字型として値を追加します(データ形式 ARRAYのみ有効)。
    addStr(String val, boolean isUse)
    データの登録エリアに、文字型として値を追加します(データ形式 ARRAYのみ有効)。
    内部データのバッファをすべてクリアします。
    整形されたデータ文字列を 作成します。
    内部データの文字列を返します。
    makeTag(int rowNo, String val)
    行番号付きのタグの 整形された文字列を 作成します。
    ARRAY形式のデータ作成を宣言します。
    CSS形式のデータ作成を宣言します。
    JSON形式のデータ作成を宣言します。
    TAG形式のデータ作成を宣言します。
    TAG形式のデータの、BODY+終了タグの文字列を作成して返します。
    TAG形式のデータの、要素部分(BODYの直前まで)の文字列を作成して返します。
    内部データの文字列を返します。

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

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

    • TagBuffer

      public TagBuffer()
      デフォルトコンストラクター
    • TagBuffer

      public TagBuffer(String name)
      タグ名を指定した、タグ構築用のコンストラクター これは、TagBuffer クラスとの互換性の為に用意されたコンストラクターです。
      パラメータ:
      name - タグの名前
  • メソッドの詳細

    • startTag

      public TagBuffer startTag(String name)
      TAG形式のデータ作成を宣言します。 TAG形式: BODYなし <tag key1="val1" key2="val2" ・・・/> BODYあり <tag key1="val1" key2="val2" ・・・>body</tag>
      パラメータ:
      name - タグの名前
      戻り値:
      自分自身
      このメソッドは、nullを返しません
    • startCss

      public TagBuffer startCss(String name)
      CSS形式のデータ作成を宣言します。 CSS形式: { key1:val1; key2:val2; ・・・ }
      パラメータ:
      name - CSSのセレクター
      戻り値:
      自分自身
      このメソッドは、nullを返しません
    • startJson

      public TagBuffer startJson()
      JSON形式のデータ作成を宣言します。 JSON形式: 文字 { "key1":"val1", "key2":"val2", ・・・ } 数値 { "key1":num1 , "key2":num2 , ・・・ }
      戻り値:
      自分自身
      このメソッドは、nullを返しません
    • startArray

      ARRAY形式のデータ作成を宣言します。 ARRAY形式: 文字 [ "val1", "val2", ・・・ ] 数値 [ num1 , num2 , ・・・ ]
      戻り値:
      自分自身
      このメソッドは、nullを返しません
    • addBuffer

      public TagBuffer addBuffer(String... vals)
      データ本体のバッファに直接値を追加します。 指定の可変長文字列は、何の加工も無く、' '(スペース)で区切られて、直接追加されます。 データ形式以外の文字列を前後、間に追記したい場合に、都度呼びます。 引数が null や、空文字列の場合は、何もしません。
      パラメータ:
      vals - データ本体のバッファに直接追加する可変長文字列
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • addBuffer

      public TagBuffer addBuffer(String val, boolean isUse)
      データ本体のバッファに直接値を追加します。 指定の文字列は、何の加工も無く、' '(スペース)で区切られて、直接追加されます。 データ形式以外の文字列を前後、間に追記したい場合に、都度呼びます。 引数が null や、空文字列の場合は、何もしません。
      パラメータ:
      val - データ本体のバッファに直接追加する文字列
      isUse - 追加処理を行うかどうかの判定(true:処理する/false:処理しない)
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • add

      public TagBuffer add(String val)
      データの登録エリアのバッファに直接値を追加します。 これは、TagBuffer クラスとの互換性の為に用意されたメソッドです。 近い将来、削除します。
      パラメータ:
      val - データの登録エリアのバッファに直接追加する文字列
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • addOptions

      public TagBuffer addOptions(String... vals)
      データの登録エリアのバッファに直接値を追加します。 指定の可変長文字列は、何の加工も無く、' '(スペース)で区切られて、直接追加されます。 これは、データ生成中のバッファに対して、追加を行います。 例えば、外部で、タグやCSSのデータ形式を作成済みで、その文字列を追記するなどです。 引数が null や、空文字列の場合は、何もしません。
      パラメータ:
      vals - データの登録エリアのバッファに直接追加する可変長文字列
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • addOptions

      public TagBuffer addOptions(String val, boolean isUse)
      データの登録エリアのバッファに直接値を追加します。 指定の文字列は、何の加工も無く、' '(スペース)で区切られて、直接追加されます。 これは、データ生成中のバッファに対して、追加を行います。 例えば、外部で、タグやCSSのデータ形式を作成済みで、その文字列を追記するなどです。 引数が null や、空文字列の場合は、何もしません。
      パラメータ:
      val - データの登録エリアのバッファに直接追加する文字列
      isUse - 追加処理を行うかどうかの判定(true:処理する/false:処理しない)
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • addBody

      public TagBuffer addBody(String... vals)
      データの BODY部のバッファに直接値を追加します(データ形式 TAGのみ有効)。 指定の可変長文字列は、何の加工も無く、' '(スペース)で区切られて、直接追加されます。 これは、データの BODY部のバッファに対して、追加を行います。 BODY部は、タグのbody として使用されているデータで、BODY有り無しの判定は、 このデータが登録されたかどうかで判定しています。 引数が null の場合は、何もしません。
      パラメータ:
      vals - データのBODY部のバッファに直接追加する可変長文字列
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • addBody

      public TagBuffer addBody(String val, boolean isUse)
      データの BODY部のバッファに直接値を追加します(データ形式 TAGのみ有効)。 指定の文字列は、何の加工も無く、' '(スペース)で区切られて、直接追加されます。 これは、データの BODY部のバッファに対して、追加を行います。 BODY部は、タグのbody として使用されているデータで、BODY有り無しの判定は、 このデータが登録されたかどうかで判定しています。 引数が null や、空文字列の場合は、何もしません。
      パラメータ:
      val - データのBODY部のバッファに直接追加する文字列
      isUse - 追加処理を行うかどうかの判定(true:処理する/false:処理しない)
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • addNum

      public TagBuffer addNum(String... vals)
      データの登録エリアに、数値型として値を追加します(データ形式 ARRAYのみ有効)。 データが、数値型の場合、ダブルコーテーションは付けません。 指定の可変長文字列は、何の加工も無く、endStr(終端連結時文字)で区切られて、追加されます。 ARRAY形式のみ有効なので、endStrは、',' になります。 データが、null の場合、endStr(終端連結時文字)のみが、追加されますので、 データの個数は、変わりません。 最後に必ず、endStr(終端連結時文字)が付きます。
      パラメータ:
      vals - データの登録エリアに、数値型として追加する可変長文字列
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • addNum

      public TagBuffer addNum(String val, boolean isUse)
      データの登録エリアに、数値型として値を追加します(データ形式 ARRAYのみ有効)。 データが、数値型の場合、ダブルコーテーションは付けません。 指定の文字列は、何の加工も無く、endStr(終端連結時文字)で区切られて、追加されます。 ARRAY形式のみ有効なので、endStrは、',' になります。 データが、null の場合、endStr(終端連結時文字)のみが、追加されます。 最後に必ず、endStr(終端連結時文字)が付きます。
      パラメータ:
      val - データの登録エリアに、数値型として追加する文字列
      isUse - 追加処理を行うかどうかの判定(true:処理する/false:処理しない)
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • addStr

      public TagBuffer addStr(String... vals)
      データの登録エリアに、文字型として値を追加します(データ形式 ARRAYのみ有効)。 データが、文字型の場合、ダブルコーテーションを付けて登録します。 指定の可変長文字列は、何の加工も無く、endStr(終端連結時文字)で区切られて、追加されます。 ARRAY形式のみ有効なので、endStrは、',' になります。 データが、null の場合、""(空文字列)と、endStr(終端連結時文字)が、追加されますので、 データの個数は、変わりません。 最後に必ず、endStr(終端連結時文字)が付きます。
      パラメータ:
      vals - データの登録エリアに、文字型として追加する可変長文字列
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • addStr

      public TagBuffer addStr(String val, boolean isUse)
      データの登録エリアに、文字型として値を追加します(データ形式 ARRAYのみ有効)。 データが、文字型の場合、ダブルコーテーションを付けて登録します。 指定の文字列は、何の加工も無く、endStr(終端連結時文字)で区切られて、追加されます。 ARRAY形式のみ有効なので、endStrは、',' になります。 データが、null の場合、""(空文字列)と、endStr(終端連結時文字)が、追加されます。 最後に必ず、endStr(終端連結時文字)が付きます。
      パラメータ:
      val - データの登録エリアに、文字型として追加する文字列
      isUse - 追加処理を行うかどうかの判定(true:処理する/false:処理しない)
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • add

      public TagBuffer add(String key, String val)
      キーと値のセットを、追加します。 key が nullか、ゼロ文字列の場合は、なにもしません。 val が null の場合は、なにもしません。 val が、ゼロ文字列の場合は、追加します val に、ダブルコーテーション(")が含まれている場合は、属性値をシングルコーテーション でくくります。 両方含まれている場合は、シングルコーテーションをエスケープ文字(&#39;)に変換します。
      パラメータ:
      key - 属性キー(nullか、ゼロ文字列の場合は、なにもしません)
      val - 属性値 (null の場合は、なにもしない)
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • add

      public TagBuffer add(String[] keys, String[] vals)
      キー配列と値配列のセットを、追加します。 これは、配列の数だけ、#add( boolean , String , String ) を呼び出して処理を行います。 個々の配列内のkey,valは、先のメソッドの規約に従います。 キー配列と値配列のサイズが異なる場合や、配列が null の場合は、何もしません。 (エラーではなく何もしないのでご注意ください。)
      パラメータ:
      keys - 属性キー配列
      vals - 属性値配列
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • add

      public TagBuffer add(String key, String val, boolean isUse)
      キーと値のセットを、追加します(データ形式 ARRAY以外有効)。 key が nullか、ゼロ文字列の場合は、なにもしません。 val が null の場合は、なにもしません。 val が、ゼロ文字列の場合は、追加します isUse が、false の場合は、なにもしません。 val に、ダブルコーテーション(")が含まれている場合は、属性値をシングルコーテーション でくくります。 両方含まれている場合は、シングルコーテーションをエスケープ文字(&#39;)に変換します。 isUse に、false を指定すると、属性は追加しません。これは、if( isUse ) { tagBuf.add( key,val ); } の様な判定処理を、tagBuf.add( key,val,isUse ); とすることで、StringBuilderの様に、連結して使用できます。 値 に、ダブルコーテーション(")が含まれている場合は、属性値をシングルコーテーション でくくります。 両方含まれている場合は、シングルコーテーションをエスケープ文字に変換します。
      パラメータ:
      key - 属性キー(nullか、ゼロ文字列の場合は、なにもしません)
      val - 属性値 (null の場合は、なにもしない)
      isUse - 属性を追加かどうかを決めるフラグ(true:追加する/false:何もしない)
      戻り値:
      自分自身
      関連項目:
      このメソッドは、nullを返しません
    • make

      public TagBuffer make()
      整形されたデータ文字列を 作成します。 このメソッドは、startXXX で開始さえたデータ形式に応じて、データ本体のバッファに追記します。 一連のデータ作成処理は、この、#make() メソッドで終了します。 その後、startXXX を呼び出すことで、新しいデータ形式の作成を開始できます。
      戻り値:
      自分自身
      このメソッドは、nullを返しません
    • toBefore

      public String toBefore()
      TAG形式のデータの、要素部分(BODYの直前まで)の文字列を作成して返します。 これは、TAG形式で、BODY部分が、別途処理が必要な場合、要素部分まで作成したい場合に使用します。 また、TAG形式以外の場合は、データの登録エリアのバッファをそのまま文字列にして返します。 この処理を実行すると、内部のすべてのバッファがクリアされます。 唯一、nameや、区切り文字情報は残っていますので、続きから、BODY の登録や、次のタグの登録が可能です。 最後は、#toAfter() メソッドを実行すれば、タグとしての形式を保つことが可能です。
      戻り値:
      要素部分(BODYの直前まで)の文字列
      関連項目:
      このメソッドは、nullを返しません
    • toAfter

      public String toAfter()
      TAG形式のデータの、BODY+終了タグの文字列を作成して返します。 通常は、#toBefore() を呼んだ後に、最後に実行するメソッドです。 この処理を実行すると、内部のすべてのバッファがクリアされます。
      戻り値:
      要素部分(BODYの直前まで)の文字列
      関連項目:
      このメソッドは、nullを返しません
    • clear

      public TagBuffer clear()
      内部データのバッファをすべてクリアします。 内部データには、データ登録バッファ、データBODY部バッファ、データ本体バッファと 3種類のバッファを持っています。 この、3種類のバッファすべてをクリアします。
      戻り値:
      自分自身
      このメソッドは、nullを返しません
    • toString

      public String toString()
      内部データの文字列を返します。 データ本体のバッファを文字列に変換して返します。 これは、#make() か、#tagBefore() を実行後に行います。そうしないと、 データが設定されていません。 この処理を行っても、データはクリアされないため、再び処理を行うことが可能です。 中間のデータを確認する場合や、最後にデータを取り出す場合に利用します。
      オーバーライド:
      toString クラス内 Object
      戻り値:
      データ本体の文字列
    • makeTag

      public String makeTag()
      内部データの文字列を返します。 return tagBuf.make().toString(); と同じ結果を返します。 これは、TagBuffer クラスとの互換性の為に用意されたメソッドです。 内部にキャッシュとして持つため、最初に一度実行すると、以降、同じ値しか返されません。
      戻り値:
      データ本体の文字列
    • makeTag

      public String makeTag(int rowNo, String val)
      行番号付きのタグの 整形された文字列を 作成します。 内部データから生成された文字列に含まれる、[I] に、行番号を、 [V] に、設定値を埋め込みます。 これは、TagBuffer クラスとの互換性の為に用意されたメソッドです。 内部にキャッシュとして持つため、最初に一度実行すると、以降、同じ値しか返されません。 逆に、何度実行しても、内部変数は書き換えられませんので、 行番号と、設定値を替えて、連続で呼ぶことが可能です。
      パラメータ:
      rowNo - 行番号([I] 文字列を変換します)
      val - 設定値([V] 文字列を変換します)
      戻り値:
      行番号と設定値が置き換えられた文字列