クラス TableFormatter
java.lang.Object
org.opengion.hayabusa.html.TableFormatter
[PN],[OYA] などの [] で指定されたカラムで表されたフォーマットデータに対して、
DBTableModelオブジェクトを適用して 各カラムに実データを割り当てるオブジェクトです。
特に、[XXXX]に対して、[#XXXX]、[$XXXX]、[!XXXX]などの特殊記号が使用できます。
特殊記号の解釈は、HTMLFormatTextField系とHTMLFormatTable系で異なりますので
ご注意ください。
'#':ラベルのみ '$':レンデラー '!':値のみ
- 変更履歴:
- 3.5.4.0 (2003/11/25) 新規追加
- 機能分類
- 画面表示
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
フィールド -
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明フォーマットを取得します。getFormat(int no) フォーマット文字列を返します。このフォーマットのタイプを返します。itdフォーマット文字列を取得します。intgetLocation(int no) カラムのロケーション番号を返します。intロケーション番号のサイズを返します。カラムのロケーション番号をIntStreamで返します。設定された rowspan を返します。getSystemFormat(int row, int loc) システムフォーマット文字列を返します。getTrTag()設定された フォーマットの trタグを返します。chargetType(int no) タイプ文字列を返します。booleanカラムのクラス名(X,S9 など)のセットを行うかどうか取得します。booleanisUse(int row, DBTableModel table) このフォーマットを使用するかどうかの問い合わせを返します。voidmakeFormat(DBTableModel table) DBTableModelを利用して、フォーマットデータを初期化します。voidフォーマットをセットします。voidフォーマットをセットします。voidsetFormatType(FormatterType ftype) テーブルフォーマットのタイプを指定します。voidsetItdBody(String itd) itdフォーマット文字列を設定します。voidsetKeyBreakClm(String kclm) ここで指定したカラムの値が、キーブレイクした場合、このタグを使用します。voidsetNoClass(String flag) カラムのクラス名(X,S9 など)のセットを行うかどうか指定します。protected voidsetNoDisplay(int no) 指定のロケーション番号の値をクリアします。voidsetRowspan(String rowspan) テーブルの rowspan 属性をセットします。voidsetUsableKey(String key) フォーマットの使用可否を判断するキーとなるカラム名を指定します。voidsetUsableList(String list) フォーマットの使用可否を判断する文字列リストを指定します。
-
フィールド詳細
-
HYBS_ITD_MARKER
フォーマットタイプの指定の特殊なマーク "h_itd_marker"- 関連項目:
-
-
コンストラクタの詳細
-
TableFormatter
public TableFormatter()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
setFormat
フォーマットをセットします。 フォーマットに、<table>を含む場合、TextField扱いなので、フォーマット分割 しません。table を含まず、tr を含む場合は、1行分のデータとして扱う為、 trTag を求めます。 trTag と format との間に、行ヘッダーが入ります。 Tomcat6では、JSPのパース時に、tabやspaceはそのままパースされるため、</td>前 のスペース削除処理も行います。- パラメータ:
fmt- [カラム名] 形式のフォーマットデータflag- falseにすると先頭のtrタグを取る処理を行いません(5.5.0.3)- 変更履歴:
- 4.3.2.0 (2008/09/10) </td>前のスペースを取り消します。, 5.5.0.3 (2012/03/13) <tr>を取らないフラグ追加
-
setFormat
フォーマットをセットします。 フォーマットに、<table>を含む場合、TextField扱いなので、フォーマット分割 しません。table を含まず、tr を含む場合は、1行分のデータとして扱う為、 trTag を求めます。 trTag と format との間に、行ヘッダーが入ります。 Tomcat6では、JSPのパース時に、tabやspaceはそのままパースされるため、</td>前 のスペース削除処理も行います。- パラメータ:
fmt- [カラム名] 形式のフォーマットデータ- 変更履歴:
- 5.5.0.3 (2012/03/13) 引数追加につき。
-
getFormat
フォーマットを取得します。- 戻り値:
- フォーマットデータ
- 変更履歴:
- 3.5.5.8 (2004/05/20) 新規追加, 5.1.7.0 (2010/06/01) サニタイズ戻し処理("\\]\\"から"["に戻し)を追加
-
makeFormat
DBTableModelを利用して、フォーマットデータを初期化します。- パラメータ:
table- DBTableModelオブジェクト- 変更履歴:
- 3.5.5.0 (2004/03/12) [KEY.カラム名] 機能追加, 3.5.5.2 (2004/04/02) [I] で、行番号を作成します。, 3.5.6.0 (2004/06/18) '!' 値のみ 追加 既存の '$' は、レンデラー, 3.6.0.0 (2004/09/17) [ROW.ID] で、行毎のチェックボックスのIDを返します。, 5.1.7.0 (2010/06/01) サニタイズ戻し処理("\\]\\"から"["に戻し)を追加, 5.7.6.3 (2014/05/23) キーブレイクをチェックする keyBreakClm 属性追加, 6.4.3.4 (2016/03/11) Formatterに新しいコンストラクターを追加する。
-
setFormatType
テーブルフォーマットのタイプを指定します。 enum FormatterType で、指定します。- パラメータ:
ftype- フォーマットのタイプ- 変更履歴:
- 4.0.0.0 (2007/05/02) enum 定義に変更
-
getFormatType
このフォーマットのタイプを返します。 このフォーマットのタイプを返します。- 戻り値:
- このフォーマットのタイプを返します。
- 変更履歴:
- 4.0.0.0 (2007/05/02) enum 定義に変更
-
setRowspan
テーブルの rowspan 属性をセットします。 rowspan は、ヘッダー部のフォーマットの行数です。初期値は 2行 です。 設定は、"2" などの、数字部のみをセットします。- パラメータ:
rowspan- 属性
-
getRowspan
設定された rowspan を返します。 これは、フォーマットの段組の数を取り出します。 文字列としては、rowspan="2" という形で取り出します。- 戻り値:
- フォーマット文字列
-
getLocationSize
ロケーション番号のサイズを返します。 フォーム位置番号は、0 から getLocationSize()-1 までの数字を指定します。 ロケーションサイズは、aaa[ABC]bbb[DEF]ccc[GHI]ddd となっている場合、 aaa , bbb , ccc , ddd は、フォーマットで、サイズは4。 ABC , DEF , GHI に対応するカラム番号がロケーションで、サイズは3。 このメソッドで返すのは、ロケーション番号(3)の方です。- 戻り値:
- ロケーション番号のサイズ
- 変更履歴:
- 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
-
getLocation
カラムのロケーション番号を返します。 引数は、0 から、getLocationSize()-1 までの数で指定します。 指定の位置の、フォーマットのカラム名に対応するロケーション番号 を返します。- パラメータ:
no- フォーム位置番号- 戻り値:
- ロケーション番号
- 変更履歴:
- 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
-
getLocationStream
カラムのロケーション番号をIntStreamで返します。 指定の位置の、フォーマットのカラム名に対応するロケーション番号のIntStreamです。- 戻り値:
- 内部のLocation配列を、IntStreamで返します。
- 変更履歴:
- 6.4.3.4 (2016/03/11) 内部のLocation配列を、IntStreamで返します。
-
setNoDisplay
指定のロケーション番号の値をクリアします。 ただし、直前のフォーマットに、td タグが存在する場合は、 style="display:none;" を設定することで、td タグそのものが 無くなります。 その場合、段組みなどのレイアウトを行っていると、フォーマットが 崩れますので、十分ご確認ください。 また、同一 td 内に複数のカラムを指定した場合は、tdタグ内のすべての カラムが消えます。 td タグが存在しない場合は、非表示というより、データを空に するだけになります。- パラメータ:
no- フォーム位置番号- 変更履歴:
- 6.2.0.0 (2015/02/27) フォーマット系の noDisplay 対応, 6.2.0.1 (2015/03/06) 非表示のマーカーに、Formatter#NO_DISPLAY を使用する。, 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
-
getFormat
フォーマット文字列を返します。 引数は、0 から、getLocationSize() までの数で指定します。 指定のフォーマットが、aaa[ABC]bbb[DEF]ccc[GHI]ddd となっている場合、 aaa , bbb , ccc , ddd を引数 0 , 1 , 2 , 3 で返します。- パラメータ:
no- フォーム位置番号- 戻り値:
- フォーマット文字列
- 変更履歴:
- 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
-
getSystemFormat
システムフォーマット文字列を返します。 システムフォーマット文字列は、[KEY.カラム名] などの特殊記号で指定された カラム名の事で、location には、マイナスの値が設定されます。 マイナスの値に応じて、処理を変えることが出来ます。 [KEY.カラム名] : 行番号付きカラム名 [I] : 行番号 [J] : 登録数 7.3.1.3 (2021/03/09) ※ ただし、ここでは登録件数が判らないため、行番号を返しておきます。 [ROW.ID] : 行毎のチェックボックスのID [ROW.JSON] : 行毎の全データのJavaScriptオブジェクト形式- パラメータ:
row- 行番号loc- 位置番号- 戻り値:
- フォーマット文字列
- 変更履歴:
- 3.5.5.0 (2004/03/12) [KEY.カラム名] 機能追加, 3.5.5.2 (2004/04/02) [I] で、行番号を作成します。, 3.6.0.0 (2004/09/17) [ROW.ID] で、行毎のチェックボックスのIDを返します。, 4.0.0.0 (2007/05/02) Formatter を使用するように変更, 6.2.0.1 (2015/03/06) 非表示のマーカーに、Formatter#NO_DISPLAY を使用する。, 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs), 7.3.1.3 (2021/03/09) [J] で、登録件数(1~) を表現する。
- このメソッドは、nullを返しません
-
getType
タイプ文字列を返します。 タイプとは、[XXX] の記述で、[#XXX] は、XXXカラムのラベルを、[$XXX]は、XXXカラムの レンデラーを、[!XXX} は、値のみ取り出す指定を行います。 主に、TextField系のフォーマットとTable系では、意味合いが異なりますので、 ご注意ください。- パラメータ:
no- フォーム位置番号- 戻り値:
- タイプ文字列 '#':ラベルのみ '$':レンデラー '!':値のみ その他:通常
- 変更履歴:
- 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
-
getTrTag
設定された フォーマットの trタグを返します。 これは、trタグにclass属性他の設定がされていた場合に、変換後の 文字列にも反映させる為に必要です。- 戻り値:
- フォーマットの trタグ
- 変更履歴:
- 5.1.7.0 (2010/06/01) サニタイズ戻し処理("\\]\\"から"["に戻し)を追加
- このメソッドは、nullを返しません
-
setNoClass
カラムのクラス名(X,S9 など)のセットを行うかどうか指定します。 "true" で、クラス属性を設定しません。これは、CSSファイルに書かれている属性を 使用しないことを意味します。 初期値は、"false" です。- パラメータ:
flag- クラス名使用の有無(true:使用しない/false:使用する。)
-
isNoClass
カラムのクラス名(X,S9 など)のセットを行うかどうか取得します。 "true" で、クラス属性を設定しません。これは、CSSファイルに書かれている属性を 使用しないことを意味します。 初期値は、"false" です。- 戻り値:
- クラス名使用の有無(true:使用しない/false:使用する。)
-
setUsableKey
フォーマットの使用可否を判断するキーとなるカラム名を指定します。 キーが、usableList に含まれる場合は、このフォームを使用できます。 キー(カラム名)が指定されない場合は、常に使用されます。 ※ 現時点では、BODYタイプのみ使用しています。- パラメータ:
key- フォーマットの使用可否を判断するカラム名
-
setUsableList
フォーマットの使用可否を判断する文字列リストを指定します。 キーが、この文字列リスト中に存在する場合は、このフォームを使用できます。 この文字列リストは、固定な文字列です。{@XXXX}は使用できますが、[XXXX]は 使用できません。 初期値は、"1" です。 ※ 現時点では、BODYタイプのみ使用しています。- パラメータ:
list- フォーマットの使用可否を判断する文字列リスト- 関連項目:
-
setKeyBreakClm
ここで指定したカラムの値が、キーブレイクした場合、このタグを使用します。 キーブレイクで 使用可否を指定する為の機能です。 この設定値は、usableKey,usableList とは、独立しているため、それぞれで 有効になれば、使用されると判断されます。 キーブレイク判定では、最初の1件目は、必ず使用されると判断されます。- パラメータ:
kclm- キーブレイクをチェックするカラムID- 変更履歴:
- 5.7.6.3 (2014/05/23) 新規追加
-
isUse
このフォーマットを使用するかどうかの問い合わせを返します。 "true" で、使用します。setUsableKey( String ) で、指定された カラム名の値が、setUsableList( String ) で指定された文字列に含まれていれば、 使用します。カラム名がセットされない場合は、デフォルト値("true")が使用されます。 ※ 現時点では、BODYタイプのみ使用しています。 カラムのデータに、不正なスペースが入る場合を想定して、trim() しています。 よって、usableList の値にスペースは使用できません。 5.7.6.3 (2014/05/23) 以降は、keyBreakClm によるキーブレイクチェックも追加されました。 従来の usableKey,usableList とは、独立しているため、それぞれで有効になれば、 使用されると判断されます。- パラメータ:
row- 行番号table- DBTableModelオブジェクト- 戻り値:
- このフォームを使用するかどうか(true:使用する/false:使用しない)
- 関連項目:
- 変更履歴:
- 3.5.6.2 (2004/07/05) 判定評価用カラムの値を trim() します。, 5.7.6.3 (2014/05/23) キーブレイクをチェックする keyBreakClm 属性追加
-
setItdBody
itdフォーマット文字列を設定します。 itd ボディ部の文字列を指定します。 itd ボディは、繰り返し処理を行います。これを、上位のボディ文字列の中の HYBS_ITD_MARKER 文字列 と置き換えます。- パラメータ:
itd- itdフォーマットの文字列- 変更履歴:
- 3.5.6.0 (2004/06/18) itdフォーマット文字列の取り込み
-
getItdBody
itdフォーマット文字列を取得します。 itd ボディ部の文字列を取得します。 itd ボディは、繰り返し処理を行います。これを、上位のボディ文字列の中の HYBS_ITD_MARKER 文字列 と置き換えます。- 戻り値:
- itdフォーマットの文字列
- 変更履歴:
- 3.5.6.0 (2004/06/18) itdフォーマット文字列の取り込み
-