2 * Copyright (c) 2009 The openGion Project.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13 * either express or implied. See the License for the specific language
14 * governing permissions and limitations under the License.
16 package org.opengion.hayabusa.taglib;
18 import org.opengion.hayabusa.html.ViewGanttTableParam;
20 import static org.opengion.fukurou.util.StringUtil.nval ;
23 * viewタグの viewFormType が HTMLGanttTable の場合にパラメータを設定します。
25 * ガントチャートを表示する、ViewForm_HTMLGanttTable クラスに対して、各種パラメータを
27 * パラメータが設定されていない場合は、ViewGanttTableParam の初期値が
29 * (パラメータを使用するには、viewタグのuseParam 属性をtrueに設定する必要があります。)
32 * ●形式:<og:ganttParam groupColumns="PRJCODE,RESOURCE_ID" minDuration="0.5" />
37 * groupColumns 【TAG】各タスクを1行にまとめる時のカラム名(CSV形式)をセットします (初期値:ViewGanttTableParam#GROUP_COLUMNS_VALUE[=PRJCODE,RESOURCE_ID])
38 * durationColumn 【TAG】期間欄のカラム名をセットします
39 * dystartColumn 【TAG】開始日付けのカラム名をセットします (初期値:ViewGanttTableParam#DYSTART_COLUMN_VALUE[=DYSTART])
40 * dystartFormat 【TAG】開始日付けのフォーマットを指定します (初期値:ViewGanttTableParam#DYSTART_FORMAT_VALUE[=yyyyMMdd])
41 * minDuration 【TAG】最小期間(小数可)をセットします(初期値:1)
42 * headerDuration 【TAG】ヘッダーの表示期間(小数可)をセットします(初期値:最小期間(minDuration) と同じ)
43 * headerLocale 【TAG】ヘッダーを表示する時の、Locale(language のみ) を指定します (初期値:ViewGanttTableParam#HEADER_LOCALE_VALUE[=ja])
44 * useSeqDay 【TAG】ヘッダー日付けの連続表示を行うかどうか[true/false]を指定します(初期値:false)
45 * startDay 【TAG】ヘッダー日付けの開始日を指定します
46 * endDay 【TAG】ヘッダー日付けの終了日を指定します
47 * debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
51 * ViewFormTag の viewFormType が、ViewForm_HTMLGanttTable の場合に使用します。
53 * viewFormType = "HTMLGanttTable"
54 * command = "{@command}"
55 * startNo = "0"
56 * pageSize = "20"
57 * <b>useParam = "true"</b>
60 * groupColumns = "PRJCODE,RESOURCE_ID"
61 * durationColumn = "DURATION"
62 * dystartColumn = "DYSTART"
63 * dystartFormat = "yyyyMMdd"
65 * headerDuration = "1"
68 * startDay = "20041020"
73 * @og.rev 3.5.5.8 (2004/05/20) 新規作成
77 * @author Kazuhiko Hasegawa
80 public class ViewGanttParamTag extends ViewParamImpl {
81 /** このプログラムのVERSION文字列を設定します。 {@value} */
82 private static final String VERSION = "6.4.2.0 (2016/01/29)" ;
83 private static final long serialVersionUID = 642020160129L ;
88 * @og.rev 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
90 public ViewGanttParamTag() { super(); } // これも、自動的に呼ばれるが、空のメソッドを作成すると警告されるので、明示的にしておきます。
93 * 【TAG】各タスクを1行にまとめる時のカラム名(CSV形式)をセットします
94 * (初期値:ViewGanttTableParam#GROUP_COLUMNS_VALUE[={@og.value org.opengion.hayabusa.html.ViewGanttTableParam#GROUP_COLUMNS_VALUE}])。
97 * ガントチャートで、同一要件のタスクを1行にまとめて表示します。
98 * その場合のグルーピングのキーとなるカラム名を指定します。
99 * 複数ある場合は、CSV形式で指定できます。
100 * 日付けでの重複は考慮されていませんので、データ側でチェックしておいて下さい。
101 * (初期値:ViewGanttTableParam#GROUP_COLUMNS_VALUE[={@og.value org.opengion.hayabusa.html.ViewGanttTableParam#GROUP_COLUMNS_VALUE}])。
103 * @param groupColumns グループカラム名 (CSV形式)
104 * @see org.opengion.hayabusa.html.ViewGanttTableParam#GROUP_COLUMNS_VALUE
106 public void setGroupColumns( final String groupColumns ) {
107 putParam( ViewGanttTableParam.GROUP_COLUMNS_KEY ,
108 nval( getRequestParameter( groupColumns ),null ) );
112 * 【TAG】期間欄のカラム名をセットします。
115 * ガントを表示する場合の、各タスクの幅(期間)のカラム名を指定します。
116 * 各タスクは、開始日と期間より、ガントの指定のロケーションに割り当てられます。
119 * @param durationColumn 期間欄のカラム名
121 public void setDurationColumn( final String durationColumn ) {
122 putParam( ViewGanttTableParam.DURATION_COLUMN_KEY ,
123 nval( getRequestParameter( durationColumn ),null ) );
127 * 【TAG】開始日付けのカラム名をセットします
128 * (初期値:ViewGanttTableParam#DYSTART_COLUMN_VALUE[={@og.value org.opengion.hayabusa.html.ViewGanttTableParam#DYSTART_COLUMN_VALUE}])。
131 * ガントを表示する場合の、各タスクの開始日付けのカラム名を指定します。
132 * 各タスクは、開始日と期間より、ガントの指定のロケーションに割り当てられます。
133 * (初期値:ViewGanttTableParam#DYSTART_COLUMN_VALUE[={@og.value org.opengion.hayabusa.html.ViewGanttTableParam#DYSTART_COLUMN_VALUE}])。
135 * @param dystartColumn 開始日カラム名 (初期値:DYSTART)
137 public void setDystartColumn( final String dystartColumn ) {
138 putParam( ViewGanttTableParam.DYSTART_COLUMN_KEY ,
139 nval( getRequestParameter( dystartColumn ),null ) );
143 * 【TAG】開始日付けのフォーマットを指定します
144 * (初期値:ViewGanttTableParam#DYSTART_FORMAT_VALUE[={@og.value org.opengion.hayabusa.html.ViewGanttTableParam#DYSTART_FORMAT_VALUE}])。
147 * ガントの開始日付 データを取り込むときの日付けフォーマットを指定します。
148 * この形式の日付け文字列を、内部で、日付けデータとして管理します。
149 * java.text.SimpleDateFormat で指定できる形式を指定します。
150 * (初期値:ViewGanttTableParam#DYSTART_FORMAT_VALUE[={@og.value org.opengion.hayabusa.html.ViewGanttTableParam#DYSTART_FORMAT_VALUE}])。
152 * @param dystartFormat 開始日フォーマット
153 * @see java.text.SimpleDateFormat
155 public void setDystartFormat( final String dystartFormat ) {
156 putParam( ViewGanttTableParam.DYSTART_FORMAT_KEY ,
157 nval( getRequestParameter( dystartFormat ),null ) );
161 * 【TAG】最小期間(小数可)をセットします
162 * (初期値:ViewGanttTableParam#MIN_DURATION_VALUE[={@og.value org.opengion.hayabusa.html.ViewGanttTableParam#MIN_DURATION_VALUE}])。
165 * Duration で指定する期間の最小単位を指定します。
166 * 例えば、1日単位の精度でタスクを割り当てる場合、期間の最小単位は、1 に
167 * なります。表示する場合も、この数字が最小単位となり、HTMLのテーブルの
168 * 1カラムに相当します。例えば、最小単位を、0.5 にすると、
169 * 半日単位でタスクを割り当てることができます。10 にすると、10日単位
171 * (初期値:ViewGanttTableParam#MIN_DURATION_VALUE[={@og.value org.opengion.hayabusa.html.ViewGanttTableParam#MIN_DURATION_VALUE}])。
173 * @param minDuration 最小期間
175 public void setMinDuration( final String minDuration ) {
176 putParam( ViewGanttTableParam.MIN_DURATION_KEY ,
177 nval( getRequestParameter( minDuration ),null ) );
181 * 【TAG】ヘッダーの表示期間(小数可)をセットします(初期値:最小期間(minDuration) と同じ)。
184 * ヘッダー部の日付け欄で指定する表示間隔を指定します。
186 * 例えば、最小期間(minDuration)を、0.5日単位の精度で指定した場合、
187 * そのままでは、ヘッダーも最小期間単位で表示されますが、1日単位で表示
189 * また、1週間単位では、7 を指定します。
190 * 1ヶ月単位などの、不定長での指定はできません。
191 * 初期値は最小期間(minDuration) と同じです。
193 * @param headerDuration 表示期間 (小数可)
195 public void setHeaderDuration( final String headerDuration ) {
196 putParam( ViewGanttTableParam.HEADER_DURATION_KEY ,
197 nval( getRequestParameter( headerDuration ),null ) );
201 * 【TAG】ヘッダーを表示する時の、Locale(language のみ) を指定します
202 * (初期値:ViewGanttTableParam#HEADER_LOCALE_VALUE[={@og.value org.opengion.hayabusa.html.ViewGanttTableParam#HEADER_LOCALE_VALUE}])。
205 * ヘッダー部の日付け欄で SimpleDateFormat を用いて解析していますが、
206 * この Locale (language のみ)を指定できます。
208 * language は、有効な ISO 言語コードです。
209 * これらのコードは、ISO-639 で定義される 2 桁の小文字です。
211 * <a href="https://ja.wikipedia.org/wiki/ISO_639-1%E3%82%B3%E3%83%BC%E3%83%89%E4%B8%80%E8%A6%A7" target="_blank">
212 * https://ja.wikipedia.org/wiki/ISO_639-1%E3%82%B3%E3%83%BC%E3%83%89%E4%B8%80%E8%A6%A7 </a>
214 * SimpleDateFormat の Locale を指定するコンストラクタでは、全ての
215 * ロケールをサポートするわけではありませんのでご注意ください。
216 * (初期値:ViewGanttTableParam#HEADER_LOCALE_VALUE[={@og.value org.opengion.hayabusa.html.ViewGanttTableParam#HEADER_LOCALE_VALUE}])。
218 * @og.rev 3.5.5.9 (2004/06/07) 新規追加
220 * @param headerLocale ロケール (languageのみ)
221 * @see java.text.SimpleDateFormat#SimpleDateFormat(String , Locale)
223 public void setHeaderLocale( final String headerLocale ) {
224 putParam( ViewGanttTableParam.HEADER_LOCALE_KEY ,
225 nval( getRequestParameter( headerLocale ),null ) );
229 * 【TAG】ヘッダー日付けの連続表示を行うかどうか[true/false]を指定します
230 * (初期値:ViewGanttTableParam#USE_SEQ_DAY_VALUE[={@og.value org.opengion.hayabusa.html.ViewGanttTableParam#USE_SEQ_DAY_VALUE}])。
233 * ヘッダー部の日付け欄で開始日と終了日の範囲の連続日付け表示を行う場合に、
234 * "true" に、設定します。開始日と終了日 の設定方法は、各属性を参照してください。
235 * true:連続表示を行う / false:dystartColumn カラムで使用した分のみ
236 * (初期値:ViewGanttTableParam#USE_SEQ_DAY_VALUE[={@og.value org.opengion.hayabusa.html.ViewGanttTableParam#USE_SEQ_DAY_VALUE}])。
238 * @og.rev 3.6.1.0 (2005/01/05) 新規追加
240 * @param useSeqDay 連続表示可否 [true:行う/false:行わない]
241 * @see #setStartDay( String )
242 * @see #setEndDay( String )
244 public void setUseSeqDay( final String useSeqDay ) {
245 putParam( ViewGanttTableParam.USE_SEQ_DAY_KEY ,
246 nval( getRequestParameter( useSeqDay ),null ) );
250 * 【TAG】ヘッダー日付けの開始日を指定します。
253 * ヘッダー部の日付け欄で連続日付け表示使用時(seqDay="true")に、
254 * この開始日より、終了日までの日付けヘッダーを連続表示します。
255 * seqDay="true" で startDayを指定しない場合は、dystartColumn で
256 * 指定された、最小日付けを使用します。逆に、この最小日付けよりも
257 * 大きな日付けは、セットできません。データとヘッダーの整合性が
260 * この時の日付けフォーマットは、dystartFormat の指定と同じです。
262 * @og.rev 3.6.1.0 (2005/01/05) 新規追加
264 * @param startDay 開始日
265 * @see #setUseSeqDay( String )
266 * @see #setEndDay( String )
268 public void setStartDay( final String startDay ) {
269 putParam( ViewGanttTableParam.START_DAY_KEY ,
270 nval( getRequestParameter( startDay ),null ) );
274 * 【TAG】ヘッダー日付けの終了日を指定します。
277 * ヘッダー部の日付け欄で連続日付け表示使用時(seqDay="true")に、
278 * 開始日より、この終了日までの日付けヘッダーを連続表示します。
279 * seqDay="true" で endDayを指定しない場合は、dystartColumn で
280 * 指定された、最大日付けを使用します。逆に、この最大日付けよりも
281 * 小さな日付けは、セットできません。データとヘッダーの整合性が
284 * この時の日付けフォーマットは、dystartFormat の指定と同じです。
286 * @og.rev 3.6.1.0 (2005/01/05) 新規追加
289 * @see #setUseSeqDay( String )
290 * @see #setStartDay( String )
292 public void setEndDay( final String endDay ) {
293 putParam( ViewGanttTableParam.END_DAY_KEY ,
294 nval( getRequestParameter( endDay ),null ) );
299 * 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。
301 * @og.rev 4.0.0.0 (2005/01/31) 新規追加
307 protected String getTagName() {
308 return "ganttParam" ;