|
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjavax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.ViewParamTag
org.opengion.hayabusa.taglib.ViewTimeBarParamTag
public class ViewTimeBarParamTag
viewタグの viewFormType が ImageTimeBar の場合にパラメータを設定します。
キー、日時、状況コードを持つ稼働状況の表示を行う、ViewForm_ImageTimeBar クラスに対して、
各種パラメータを設定します。
(パラメータを使用するには、viewタグのuseParam 属性をtrueに設定する必要があります。)
SELECT文は、キー、日時、状況コードが、必須項目で、カラムの並び順は、完全に固定です。
よって、カラム位置を指定する必要はありませんが、SELECT文を自由に設定することも
出来ませんので、ご注意ください。
この固定化に伴い、WRITABLE 指定も使用できません。(そもそも書き込み不可です)
それ以降のカラムについては、内部処理としては、使用していません。
ただし、パラメータで、カラー色指定、ラベル表記部、イメージ重ね合わせ、
ポップアップ表記、リンク表記に使えます。
データの並び順(ORDER BY)も、キー、日時順にしてください。
データは、キー単位に1レコード作成されます。(キーブレイク)その間、日時順に
データを処理します。
データの表示は、今のレコードの日時から、次のレコードの日時までを一つの状態と
して表します。今のレコードを表示するには、次のレコードが必要になります。
画面表示は、表示開始日時(minStartTime) から 表示期間(timeSpan)分を表示します。
通常、開始時刻は、表示開始時刻より前より始まり、次のレコードで、終了時刻が決定
されます。最後のデータは、期間満了まで続いていると仮定されます。
データが存在しないのであれば、「存在しないデータ」を作成してください。
ImageTimeBar では、キーでまとめた値について、各状況コードをカラー化し、積み上げ
帯グラフ形式でPNG画像化します。
この画像を、読み込む HTML を出力することで、画面上に、積み上げ帯グラフを表示します。
状況コードに対応する色は、標準では自動作成ですが、外部から色文字列を与えることで
自由に指定する事も可能です。
ポップアップ表記(tipsClm)、リンク表記(linkClm)は、この画像に対するエリア指定タグを出力する事で実現します。
画像ファイルは、全データに対して、1画像だけなので、サイズは大きくなりますが、1レコード
単位に画像を作成しないため、レスポンスは向上します。
それぞれ、viewMarker , viewLink を利用することが可能です。特に、リンク表記(linkClm) については、
linkタグの hrefTarget 属性を true に設定することで適用できます。
画像ファイルは、java.io.File.createTempFile( File ) で作成するため、JavaVM(=Tomcat)が
正常終了するときに、削除されます。異常終了時には残りますが、temp フォルダを定期的に
整理すれば、それほど大量のファイルが残ることはないと思われます。
データは、イベント発生時に作成されると仮定しています。つまり、書き込まれた日時から、
状況コードに対応する状況が発生し、次の状況違いのレコードまで継続していると考えます。
よって、データを途中で切り出す場合、切り出す範囲の前の状態が必要になります。
一番最初の状態は、"不明" として扱います。(空欄=白色)
●形式:<og:timeBarParam startDate="・・・" timeSpan="・・・" ・・・ /> ●body:なし ●Tag定義: <og:timeBarParam startDate 【TAG】タイムテーブルの表示開始日時をセットします(必須)。 timeSpan 【TAG】タイムテーブルの表示期間を時間で指定します(必須)。 labelClms 【TAG】一覧表のラベル表示部に表示するカラムをCSV形式で指定します(初期値:キーのRenderer値)。 colorClm 【TAG】レコードに付ける色を色文字列で指定する場合のカラム名を指定します(初期値:指定しない)。 tipsClm 【TAG】レコード単位に、マウスオーバー時のTips表示を行うカラムを指定します(初期値:指定しない)。 linkClm 【TAG】レコード単位に、クリッカブルリンクを設定するカラムを指定します(初期値:指定しない)。 useLegend 【TAG】カラーの凡例を使用するかどうか[true/false]を指定します(初期値:{@og.value #USE_LEGEND})。 maxLabelWidth 【TAG】ラベル表記部の最大サイズをpxで指定します(初期値:{@og.value #MAX_LABEL_WIDTH})。 maxTimeWidth 【TAG】タイム表記部の最大サイズをpxで指定をpxで指定します(初期値:{@og.value #MAX_TIME_WIDTH})。 chartHeight 【TAG】1行のタイムチャートの幅をpxで指定します(初期値:{@og.value #CHART_HEIGHT})。 padding 【TAG】イメージ作成の 全体テーブルの隙間(パディング)をpxで指定します(初期値:{@og.value #CHART_PADDING})。 margin 【TAG】1レコードの文字やタイムチャートのマージンをpxで指定します(初期値:{@og.value #RECODE_MARGIN})。 useLastData 【TAG】行の最後の情報が、継続しているとして使うかどうか[true/false]を指定(初期値:{@og.value #USE_LAST_DATA})。 debug 【TAG】内部情報を出力します(初期値:false)。 /> ●使用例 ViewFormTag の viewFormType が、ImageTimeBar の場合に使用します。 useParam 属性を設定しておかないと、使用されません。 <og:view viewFormType = "ImageTimeBar" command = "{@command}" useParam = "true" > <og:timeBarParam startDate = "{@DYFROM}" timeSpan = "24" /> </og:view >
5.5.5.6 (2012/08/31) 新規追加 |
フィールドの概要 |
---|
クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたフィールド |
---|
bodyContent |
クラス javax.servlet.jsp.tagext.TagSupport から継承されたフィールド |
---|
id, pageContext |
インタフェース javax.servlet.jsp.tagext.BodyTag から継承されたフィールド |
---|
EVAL_BODY_BUFFERED, EVAL_BODY_TAG |
インタフェース javax.servlet.jsp.tagext.IterationTag から継承されたフィールド |
---|
EVAL_BODY_AGAIN |
インタフェース javax.servlet.jsp.tagext.Tag から継承されたフィールド |
---|
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE |
コンストラクタの概要 | |
---|---|
ViewTimeBarParamTag()
|
メソッドの概要 | |
---|---|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。 |
protected java.lang.String |
getTagName()
タグの名称を、返します。 |
void |
setChartHeight(java.lang.String chartHeight)
【TAG】1行のタイムチャートの幅をpxで指定します(初期値:20)。 |
void |
setColorClm(java.lang.String colorClm)
【TAG】レコードに付ける色を色文字列で指定する場合のカラム名を指定します(初期値:指定しない)。 |
void |
setLabelClms(java.lang.String labelClms)
【TAG】一覧表のラベル表示部に表示するカラムをCSV形式で指定します(初期値:キーのRenderer値)。 |
void |
setLinkClm(java.lang.String linkClm)
【TAG】レコード単位に、クリッカブルリンクを設定するカラムを指定します(初期値:指定しない)。 |
void |
setMargin(java.lang.String margin)
【TAG】1レコードの文字やタイムチャートのマージンをpxで指定します(初期値:3)。 |
void |
setMaxLabelWidth(java.lang.String maxLblWidth)
【TAG】ラベル表記部の最大サイズをpxで指定します(初期値:null)。 |
void |
setMaxTimeWidth(java.lang.String maxTmWidth)
【TAG】タイム表記部の最大サイズをpxで指定をpxで指定します(初期値:600)。 |
void |
setPadding(java.lang.String padding)
【TAG】イメージ作成の 全体テーブルの隙間(パディング)をpxで指定します(初期値:5)。 |
void |
setStartDate(java.lang.String startDate)
【TAG】タイムテーブルの表示開始日時をセットします(初期値:データの最小日時)。 |
void |
setTimeSpan(java.lang.String timeSpan)
【TAG】タイムテーブルの表示期間を時間で指定します(初期値:24)。 |
void |
setTipsClm(java.lang.String tipsClm)
【TAG】レコード単位に、マウスオーバー時のTips表示を行うカラムを指定します(初期値:指定しない)。 |
void |
setUseLastData(java.lang.String useLastData)
【TAG】行の最後の情報が、継続しているとして使うかどうか[true/false]を指定します(初期値:true)。 |
void |
setUseLegend(java.lang.String useLegend)
【TAG】カラーの凡例を使用するかどうか[true/false]を指定します(初期値:true)。 |
クラス org.opengion.hayabusa.taglib.ViewParamTag から継承されたメソッド |
---|
doEndTag, initParam, putParam, release2, toString |
クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたメソッド |
---|
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent |
クラス javax.servlet.jsp.tagext.TagSupport から継承されたメソッド |
---|
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
インタフェース javax.servlet.jsp.tagext.Tag から継承されたメソッド |
---|
getParent, setPageContext, setParent |
コンストラクタの詳細 |
---|
public ViewTimeBarParamTag()
メソッドの詳細 |
---|
public int doStartTag()
Tag
内の doStartTag
CommonTagSupport
内の doStartTag
public void setStartDate(java.lang.String startDate)
startDate
- タイムテーブルの表示開始日時表示開始日時を起点として、タイムテーブルを表示します。 実際に画面に表示されるのは、開始時刻から終了時刻の範囲内だけですが、 起点は、この日時になります。 指定方法として、フォーマットされた日付、時刻情報も設定可能です。(内部的に処理します) また、処理後(例:20120824102823)14ケタ以上の場合は、14ケタにカットします。 8ケタ以上の場合は、時刻 000000 を追加します。 それ以下の場合は、設定エラーとして、HybsSystemException を throw します。 表示開始日時が指定されない場合は、データの最小時刻を利用して表示します。 初期値は、データの最小日時 です。
public void setTimeSpan(java.lang.String timeSpan)
timeSpan
- タイムテーブルの表示期間(時)表示開始日時から、どれだけの時間範囲を表示対象とするかを指定します。 指定する単位は、時間です。 小数点は指定できません。また、10日なら、"240" 、1か月(30日)なら、"720" 1年(365日)なら、"8760" を指定します。 実際に画面に表示されるのは、開始時刻から終了時刻の範囲内だけです。 初期値は、"{@og.value #TIME_SPAN}" です。
public void setLabelClms(java.lang.String labelClms)
labelClms
- ラベル表示部に表示するカラム(CSV形式)ラベル表示部に表示するカラムをカンマ区切り文字列で指定します。 指定されたカラムの値の、Renderer値を画面上に表示します。 ラベル表記部の最大サイズ(maxLblWidth)を指定しない場合は、ここで指定されたカラムの 値のそれぞれの最大長を加算した値が、ラベル表記部の最大サイズ(maxLblWidth)になります。 初期値は、キーのRenderer値 です。
public void setColorClm(java.lang.String colorClm)
colorClm
- 色文字列で指定する場合のカラム名レコード単位に、色を付ける場合、指定の色を付けたい場合に、外部から色文字列を与えることが可能です。 色文字列は、java.awt.Color の フィールド定義されているコードと同じ文字列です。 また、#XXXXXX 形式の 16進文字列を与えることで、任意の色を指定可能です。 初期値は、"指定しない" です。
public void setTipsClm(java.lang.String tipsClm)
tipsClm
- マウスオーバー時のTips表示を行うカラム名レコード単位に、画像にマウスオーバー時のツールチップ表示のためのデータを作成します。 HTMLのareaタグの alt 属性を出力します。 通常は、複数の文字列を使用しますので、viewMarker タグ等で整形してください。 何も指定しない場合は、リンクがなければ、なにも出力しません。 初期値は、"指定しない" です。
public void setLinkClm(java.lang.String linkClm)
linkClm
- クリッカブルリンクを設定するカラム名レコード単位に、画像にクリッカブルリンクを設定するためのデータを作成します。 HTMLのareaタグ の href 属性を出力します。 通常は、viewLink タグ等でリンクを作成してください。 何も指定しない場合は、Tipsがなければ、なにも出力しません。 初期値は、"指定しない" です。
public void setUseLegend(java.lang.String useLegend)
useLegend
- カラーの凡例を使用するかどうか[true/false]状況コード、または、色文字列等でグラフ作成した場合の色に対する凡例を使用するかどうかを指定します。 凡例の表示位置は、グラフの上側で、1レコード分出力します。 初期値は、"{@og.value #USE_LEGEND}" です。
public void setMaxLabelWidth(java.lang.String maxLblWidth)
maxLblWidth
- ラベル表記部の最大サイズ(px)画像の1行は、ラベル表記部と、タイムチャート部に分かれます。 その、ラベル表記部の最大サイズを指定します。 何も指定しなければ、可変長サイズ(ラベルの大きさに合わせた値)になります。 単位は px です。(pxは記述不要です) 初期値は、"{@og.value #MAX_LABEL_WIDTH}" です。
public void setMaxTimeWidth(java.lang.String maxTmWidth)
maxTmWidth
- タイム表記部の最大サイズ(px)画像の1行は、ラベル表記部と、タイムチャート部に分かれます。 そのタイムチャート部の最大サイズを指定します。 この幅は、ここで指定した幅に固定されるため、時間範囲が多ければ、1時間当たりの表示幅が 小さくなります。 たとえば、8H~20H=12H を 600px で表示すれば、1時間=50px になりますし、24H 表示ならば、 半分の 25px 、6H ならば、倍の 100px が、1時間の表示幅になります。 単位は px です。(pxは記述不要です) 初期値は、"{@og.value #MAX_TIME_WIDTH}" です。
public void setChartHeight(java.lang.String chartHeight)
chartHeight
- タイムチャートの幅画像の1行の間隔は、上下のRECODE_MARGIN と、このチャート本体の幅になります(CHART_HEIGHT+RECODE_MARGIN*2)。 ここでは、チャート本体の幅を指定します。 単位は px です。(pxは記述不要です) 初期値は、"{@og.value #CHART_HEIGHT}" です。
public void setPadding(java.lang.String padding)
padding
- 全体テーブルの隙間(パディング)イメージは、データの全行を含んだ1枚の画像ファイルになります。 画像ファイル自体の大きさと、書き込まれた画像の大きさは異なります。 この、padding は、画像の周りに、余白として指定するサイズをpx単位で指定します。 ここでは、上下左右に、均等にとります。 単位は px です。(pxは記述不要です) 初期値は、"{@og.value #CHART_PADDING}" です。
public void setMargin(java.lang.String margin)
margin
- タイムチャートのマージンイメージは、1レコードづつ書き込まれますが、そのレコードの幅は、chartHeight で指定された タイムチャートの幅+マージン*2 になります。 同様に、ラベル表記部の文字の書き出し位置も、この、マージンが適用されます。 (文字の場合は、上下左右に適用され、チャート部は、上下のみ適用されます。) 単位は px です。(pxは記述不要です) 初期値は、"{@og.value #RECODE_MARGIN}" です。
public void setUseLastData(java.lang.String useLastData)
useLastData
- タイムチャートのマージンデータは、開始時刻を与えられ、次のデータの開始時刻が前のデータの終了時刻として 処理しています。行の最後のデータは、表示範囲いっぱいまで、続いていると認識する場合は、 この値を true とします。つまり、最後のデータは利用されます。 最後のデータがそこで処理を停止したイベントの場合、そのデータは使われません。 その場合は、false に設定します。イベント色としては、"不明"(空欄=白色) として扱います。 初期値は、"{@og.value #USE_LAST_DATA}" です。
5.6.1.1 (2013/02/08) 新規追加 |
protected java.lang.String getTagName()
CommonTagSupport
内の getTagName
CommonTagSupport.getDocumentLink()
|
openGion 5.8.1.0 | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |