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

クラス TagBuffer


  • public final class TagBuffer
    extends java.lang.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) 新規作成
    バージョン
    7.0
    作成者
    Kazuhiko Hasegawa
    導入されたバージョン:
    JDK8.0,
    • コンストラクタの概要

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

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

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

      • TagBuffer

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

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

      • startTag

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

        public TagBuffer startCss​(java.lang.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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public TagBuffer add​(java.lang.String key,
                             java.lang.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:何もしない)
        戻り値:
        自分自身
        関連項目:
        add( String , String )
        このメソッドは、nullを返しません
      • make

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

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

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

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

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

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

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