クラス 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) 新規作成
- 機能分類
- ユーティリティ
- バージョン
- 7.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK8.0,
-
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 TagBufferadd(String val)データの登録エリアのバッファに直接値を追加します。TagBufferadd(String[] keys, String[] vals)キー配列と値配列のセットを、追加します。TagBufferadd(String key, String val)キーと値のセットを、追加します。TagBufferadd(String key, String val, boolean isUse)キーと値のセットを、追加します(データ形式 ARRAY以外有効)。TagBufferaddBody(String... vals)データの BODY部のバッファに直接値を追加します(データ形式 TAGのみ有効)。TagBufferaddBody(String val, boolean isUse)データの BODY部のバッファに直接値を追加します(データ形式 TAGのみ有効)。TagBufferaddBuffer(String... vals)データ本体のバッファに直接値を追加します。TagBufferaddBuffer(String val, boolean isUse)データ本体のバッファに直接値を追加します。TagBufferaddNum(String... vals)データの登録エリアに、数値型として値を追加します(データ形式 ARRAYのみ有効)。TagBufferaddNum(String val, boolean isUse)データの登録エリアに、数値型として値を追加します(データ形式 ARRAYのみ有効)。TagBufferaddOptions(String... vals)データの登録エリアのバッファに直接値を追加します。TagBufferaddOptions(String val, boolean isUse)データの登録エリアのバッファに直接値を追加します。TagBufferaddStr(String... vals)データの登録エリアに、文字型として値を追加します(データ形式 ARRAYのみ有効)。TagBufferaddStr(String val, boolean isUse)データの登録エリアに、文字型として値を追加します(データ形式 ARRAYのみ有効)。TagBufferclear()内部データのバッファをすべてクリアします。TagBuffermake()整形されたデータ文字列を 作成します。StringmakeTag()内部データの文字列を返します。StringmakeTag(int rowNo, String val)行番号付きのタグの 整形された文字列を 作成します。TagBufferstartArray()ARRAY形式のデータ作成を宣言します。TagBufferstartCss(String name)CSS形式のデータ作成を宣言します。TagBufferstartJson()JSON形式のデータ作成を宣言します。TagBufferstartTag(String name)TAG形式のデータ作成を宣言します。StringtoAfter()TAG形式のデータの、BODY+終了タグの文字列を作成して返します。StringtoBefore()TAG形式のデータの、要素部分(BODYの直前まで)の文字列を作成して返します。StringtoString()内部データの文字列を返します。
-
-
-
コンストラクタの詳細
-
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
public TagBuffer startArray()
ARRAY形式のデータ作成を宣言します。 ARRAY形式: 文字 [ "val1", "val2", ・・・ ] 数値 [ num1 , num2 , ・・・ ]- 戻り値:
- 自分自身
- このメソッドは、nullを返しません
-
addBuffer
public TagBuffer addBuffer(String... vals)
データ本体のバッファに直接値を追加します。 指定の可変長文字列は、何の加工も無く、' '(スペース)で区切られて、直接追加されます。 データ形式以外の文字列を前後、間に追記したい場合に、都度呼びます。 引数が null や、空文字列の場合は、何もしません。- パラメータ:
vals- データ本体のバッファに直接追加する可変長文字列- 戻り値:
- 自分自身
- 関連項目:
addBuffer( String , boolean )- このメソッドは、nullを返しません
-
addBuffer
public TagBuffer addBuffer(String val, boolean isUse)
データ本体のバッファに直接値を追加します。 指定の文字列は、何の加工も無く、' '(スペース)で区切られて、直接追加されます。 データ形式以外の文字列を前後、間に追記したい場合に、都度呼びます。 引数が null や、空文字列の場合は、何もしません。- パラメータ:
val- データ本体のバッファに直接追加する文字列isUse- 追加処理を行うかどうかの判定(true:処理する/false:処理しない)- 戻り値:
- 自分自身
- 関連項目:
addBuffer( String... )- このメソッドは、nullを返しません
-
add
public TagBuffer add(String val)
データの登録エリアのバッファに直接値を追加します。 これは、TagBuffer クラスとの互換性の為に用意されたメソッドです。 近い将来、削除します。- パラメータ:
val- データの登録エリアのバッファに直接追加する文字列- 戻り値:
- 自分自身
- 関連項目:
addBody( String... )- このメソッドは、nullを返しません
-
addOptions
public TagBuffer addOptions(String... vals)
データの登録エリアのバッファに直接値を追加します。 指定の可変長文字列は、何の加工も無く、' '(スペース)で区切られて、直接追加されます。 これは、データ生成中のバッファに対して、追加を行います。 例えば、外部で、タグやCSSのデータ形式を作成済みで、その文字列を追記するなどです。 引数が null や、空文字列の場合は、何もしません。- パラメータ:
vals- データの登録エリアのバッファに直接追加する可変長文字列- 戻り値:
- 自分自身
- 関連項目:
addOptions( String... )- このメソッドは、nullを返しません
-
addOptions
public TagBuffer addOptions(String val, boolean isUse)
データの登録エリアのバッファに直接値を追加します。 指定の文字列は、何の加工も無く、' '(スペース)で区切られて、直接追加されます。 これは、データ生成中のバッファに対して、追加を行います。 例えば、外部で、タグやCSSのデータ形式を作成済みで、その文字列を追記するなどです。 引数が null や、空文字列の場合は、何もしません。- パラメータ:
val- データの登録エリアのバッファに直接追加する文字列isUse- 追加処理を行うかどうかの判定(true:処理する/false:処理しない)- 戻り値:
- 自分自身
- 関連項目:
addOptions( String... )- このメソッドは、nullを返しません
-
addBody
public TagBuffer addBody(String... vals)
データの BODY部のバッファに直接値を追加します(データ形式 TAGのみ有効)。 指定の可変長文字列は、何の加工も無く、' '(スペース)で区切られて、直接追加されます。 これは、データの BODY部のバッファに対して、追加を行います。 BODY部は、タグのbody として使用されているデータで、BODY有り無しの判定は、 このデータが登録されたかどうかで判定しています。 引数が null の場合は、何もしません。- パラメータ:
vals- データのBODY部のバッファに直接追加する可変長文字列- 戻り値:
- 自分自身
- 関連項目:
addOptions( String... )- このメソッドは、nullを返しません
-
addBody
public TagBuffer addBody(String val, boolean isUse)
データの BODY部のバッファに直接値を追加します(データ形式 TAGのみ有効)。 指定の文字列は、何の加工も無く、' '(スペース)で区切られて、直接追加されます。 これは、データの BODY部のバッファに対して、追加を行います。 BODY部は、タグのbody として使用されているデータで、BODY有り無しの判定は、 このデータが登録されたかどうかで判定しています。 引数が null や、空文字列の場合は、何もしません。- パラメータ:
val- データのBODY部のバッファに直接追加する文字列isUse- 追加処理を行うかどうかの判定(true:処理する/false:処理しない)- 戻り値:
- 自分自身
- 関連項目:
addOptions( String... )- このメソッドは、nullを返しません
-
addNum
public TagBuffer addNum(String... vals)
データの登録エリアに、数値型として値を追加します(データ形式 ARRAYのみ有効)。 データが、数値型の場合、ダブルコーテーションは付けません。 指定の可変長文字列は、何の加工も無く、endStr(終端連結時文字)で区切られて、追加されます。 ARRAY形式のみ有効なので、endStrは、',' になります。 データが、null の場合、endStr(終端連結時文字)のみが、追加されますので、 データの個数は、変わりません。 最後に必ず、endStr(終端連結時文字)が付きます。- パラメータ:
vals- データの登録エリアに、数値型として追加する可変長文字列- 戻り値:
- 自分自身
- 関連項目:
addNum( String,boolean )- このメソッドは、nullを返しません
-
addNum
public TagBuffer addNum(String val, boolean isUse)
データの登録エリアに、数値型として値を追加します(データ形式 ARRAYのみ有効)。 データが、数値型の場合、ダブルコーテーションは付けません。 指定の文字列は、何の加工も無く、endStr(終端連結時文字)で区切られて、追加されます。 ARRAY形式のみ有効なので、endStrは、',' になります。 データが、null の場合、endStr(終端連結時文字)のみが、追加されます。 最後に必ず、endStr(終端連結時文字)が付きます。- パラメータ:
val- データの登録エリアに、数値型として追加する文字列isUse- 追加処理を行うかどうかの判定(true:処理する/false:処理しない)- 戻り値:
- 自分自身
- 関連項目:
addNum( String... )- このメソッドは、nullを返しません
-
addStr
public TagBuffer addStr(String... vals)
データの登録エリアに、文字型として値を追加します(データ形式 ARRAYのみ有効)。 データが、文字型の場合、ダブルコーテーションを付けて登録します。 指定の可変長文字列は、何の加工も無く、endStr(終端連結時文字)で区切られて、追加されます。 ARRAY形式のみ有効なので、endStrは、',' になります。 データが、null の場合、""(空文字列)と、endStr(終端連結時文字)が、追加されますので、 データの個数は、変わりません。 最後に必ず、endStr(終端連結時文字)が付きます。- パラメータ:
vals- データの登録エリアに、文字型として追加する可変長文字列- 戻り値:
- 自分自身
- 関連項目:
addStr( String,boolean )- このメソッドは、nullを返しません
-
addStr
public TagBuffer addStr(String val, boolean isUse)
データの登録エリアに、文字型として値を追加します(データ形式 ARRAYのみ有効)。 データが、文字型の場合、ダブルコーテーションを付けて登録します。 指定の文字列は、何の加工も無く、endStr(終端連結時文字)で区切られて、追加されます。 ARRAY形式のみ有効なので、endStrは、',' になります。 データが、null の場合、""(空文字列)と、endStr(終端連結時文字)が、追加されます。 最後に必ず、endStr(終端連結時文字)が付きます。- パラメータ:
val- データの登録エリアに、文字型として追加する文字列isUse- 追加処理を行うかどうかの判定(true:処理する/false:処理しない)- 戻り値:
- 自分自身
- 関連項目:
addStr( String... )- このメソッドは、nullを返しません
-
add
public TagBuffer add(String key, String val)
キーと値のセットを、追加します。 key が nullか、ゼロ文字列の場合は、なにもしません。 val が null の場合は、なにもしません。 val が、ゼロ文字列の場合は、追加します val に、ダブルコーテーション(")が含まれている場合は、属性値をシングルコーテーション でくくります。 両方含まれている場合は、シングルコーテーションをエスケープ文字(')に変換します。- パラメータ:
key- 属性キー(nullか、ゼロ文字列の場合は、なにもしません)val- 属性値 (null の場合は、なにもしない)- 戻り値:
- 自分自身
- 関連項目:
add( String , String , boolean )- このメソッドは、nullを返しません
-
add
public TagBuffer add(String[] keys, String[] vals)
キー配列と値配列のセットを、追加します。 これは、配列の数だけ、#add( boolean , String , String ) を呼び出して処理を行います。 個々の配列内のkey,valは、先のメソッドの規約に従います。 キー配列と値配列のサイズが異なる場合や、配列が null の場合は、何もしません。 (エラーではなく何もしないのでご注意ください。)- パラメータ:
keys- 属性キー配列vals- 属性値配列- 戻り値:
- 自分自身
- 関連項目:
add( String , String , boolean )- このメソッドは、nullを返しません
-
add
public TagBuffer add(String key, String val, boolean isUse)
キーと値のセットを、追加します(データ形式 ARRAY以外有効)。 key が nullか、ゼロ文字列の場合は、なにもしません。 val が null の場合は、なにもしません。 val が、ゼロ文字列の場合は、追加します isUse が、false の場合は、なにもしません。 val に、ダブルコーテーション(")が含まれている場合は、属性値をシングルコーテーション でくくります。 両方含まれている場合は、シングルコーテーションをエスケープ文字(')に変換します。 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 String toBefore()
TAG形式のデータの、要素部分(BODYの直前まで)の文字列を作成して返します。 これは、TAG形式で、BODY部分が、別途処理が必要な場合、要素部分まで作成したい場合に使用します。 また、TAG形式以外の場合は、データの登録エリアのバッファをそのまま文字列にして返します。 この処理を実行すると、内部のすべてのバッファがクリアされます。 唯一、nameや、区切り文字情報は残っていますので、続きから、BODY の登録や、次のタグの登録が可能です。 最後は、#toAfter() メソッドを実行すれば、タグとしての形式を保つことが可能です。- 戻り値:
- 要素部分(BODYの直前まで)の文字列
- 関連項目:
toAfter()- このメソッドは、nullを返しません
-
toAfter
public String toAfter()
TAG形式のデータの、BODY+終了タグの文字列を作成して返します。 通常は、#toBefore() を呼んだ後に、最後に実行するメソッドです。 この処理を実行すると、内部のすべてのバッファがクリアされます。- 戻り値:
- 要素部分(BODYの直前まで)の文字列
- 関連項目:
toBefore()- このメソッドは、nullを返しません
-
clear
public TagBuffer clear()
内部データのバッファをすべてクリアします。 内部データには、データ登録バッファ、データBODY部バッファ、データ本体バッファと 3種類のバッファを持っています。 この、3種類のバッファすべてをクリアします。- 戻り値:
- 自分自身
- このメソッドは、nullを返しません
-
toString
public String toString()
内部データの文字列を返します。 データ本体のバッファを文字列に変換して返します。 これは、#make() か、#tagBefore() を実行後に行います。そうしないと、 データが設定されていません。 この処理を行っても、データはクリアされないため、再び処理を行うことが可能です。 中間のデータを確認する場合や、最後にデータを取り出す場合に利用します。
-
makeTag
public String makeTag()
内部データの文字列を返します。 return tagBuf.make().toString(); と同じ結果を返します。 これは、TagBuffer クラスとの互換性の為に用意されたメソッドです。 内部にキャッシュとして持つため、最初に一度実行すると、以降、同じ値しか返されません。- 戻り値:
- データ本体の文字列
-
makeTag
public String makeTag(int rowNo, String val)
行番号付きのタグの 整形された文字列を 作成します。 内部データから生成された文字列に含まれる、[I] に、行番号を、 [V] に、設定値を埋め込みます。 これは、TagBuffer クラスとの互換性の為に用意されたメソッドです。 内部にキャッシュとして持つため、最初に一度実行すると、以降、同じ値しか返されません。 逆に、何度実行しても、内部変数は書き換えられませんので、 行番号と、設定値を替えて、連続で呼ぶことが可能です。- パラメータ:
rowNo- 行番号([I] 文字列を変換します)val- 設定値([V] 文字列を変換します)- 戻り値:
- 行番号と設定値が置き換えられた文字列
-
-