001/* 002 * Copyright (c) 2009 The openGion Project. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 013 * either express or implied. See the License for the specific language 014 * governing permissions and limitations under the License. 015 */ 016package org.opengion.hayabusa.taglib; 017 018import org.opengion.hayabusa.html.ViewStackTableParam; 019 020import static org.opengion.fukurou.util.StringUtil.nval ; 021 022/** 023 * viewタグの viewFormType が HTMLGanttTable の場合にパラメータを設定します。 024 * 025 * ガントチャートを表示する、ViewForm_HTMLGanttTable クラスに対して、各種パラメータを 026 * 設定します。 027 * パラメータが設定されていない場合は、ViewStackTableParam の初期値が 028 * 使用されます。 029 * (パラメータを使用するには、viewタグのuseParam 属性をtrueに設定する必要があります。) 030 * 031 * @og.formSample 032 * ●形式:<og:stackParam stackColumns="PRJCODE,RESOURCE_ID" /> 033 * ●body:なし 034 * 035 * ●Tag定義: 036 * <og:stackParam 037 * stackColumns ○【TAG】積上単位とするカラム名(CSV形式)をセットします (必須) 038 * costColumn 【TAG】内部積上げする場合の工数カラムをセットします 039 * innerStack 【TAG】工数の内部積み上げをするかどうか[true/false]指定します(初期値:false) 040 * debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) 041 * /> 042 * 043 * @og.rev 5.5.7.0 (2012/10/01) 新規作成 044 * @og.group 画面表示 045 * 046 * @version 5.0 047 * @author Takahashi Masakazu 048 * @since JDK5.0, 049 */ 050public class ViewStackParamTag extends ViewParamImpl { 051 /** このプログラムのVERSION文字列を設定します。 {@value} */ 052 private static final String VERSION = "6.4.2.0 (2016/01/29)" ; 053 private static final long serialVersionUID = 642020160129L ; 054 055 /** 056 * デフォルトコンストラクター 057 * 058 * @og.rev 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. 059 */ 060 public ViewStackParamTag() { super(); } // これも、自動的に呼ばれるが、空のメソッドを作成すると警告されるので、明示的にしておきます。 061 062 /** 063 * 【TAG】積上単位とするカラム名(CSV形式)をセットします。 064 * 065 * @og.tag 066 * 工数積上げのキーとなるカラム名を指定します。 067 * 068 * 複数ある場合は、CSV形式で指定できます。 069 * テーブルモデルは積上単位+タスク単位でOrderByがかかっている必要があります。 070 * 071 * @param stackColumns 積上カラム名 (CSV形式) 072 */ 073 public void setStackColumns( final String stackColumns ) { 074 putParam( ViewStackTableParam.STACK_COLUMNS_KEY , 075 nval( getRequestParameter( stackColumns ),null ) ); 076 } 077 078 /** 079 * 【TAG】工数関係のカラム(工数,開始日,終了日)を指定します。 080 * 081 * @og.tag 082 * 工数関係のカラム名を指定します。 083 * 工数(x.y)、開始日(yyyyMMdd)、終了日(yyyyMMdd) 084 * の3つのカラムをCSV形式で設定して下さい。 085 * エンジン内部で工数積上げを行う場合は必須です。 086 * 087 * テーブルモデルは積上単位+タスク単位でOrderByがかかっている必要があります。 088 * 089 * @og.rev 5.5.8.3 (2012/11/17) 090 * 091 * @param costColumns 工数のカラム名 092 */ 093 public void setCostColumns( final String costColumns ) { 094 putParam( ViewStackTableParam.COST_COLUMNS_KEY , 095 nval( getRequestParameter( costColumns ),null ) ); 096 } 097 098 /** 099 * 【TAG】エンジン内部で積上げするかどうかを指定します 100 * (初期値:INNER_STACK_VALUE[={@og.value org.opengion.hayabusa.html.ViewStackTableParam#INNER_STACK_VALUE}])。 101 * 102 * @og.tag 103 * エンジン内部で積上げを行うかどうかを指定します。 104 * 内部で積上げを行った場合は、HTMLStackGanttTableではガント行の出力を行いません。 105 * 初期値はfalse(積上げしない)です。 106 * 107 * @og.rev 5.5.8.3 (2012/11/17) 108 * 109 * @param flag 内部積上げ可否 [true:する/false:しない] 110 */ 111 public void setInnerStack( final String flag ) { 112 putParam( ViewStackTableParam.INNER_STACK_KEY , 113 nval( getRequestParameter( flag ),ViewStackTableParam.INNER_STACK_VALUE ) ); 114 } 115 116 /** 117 * 【TAG】エンジン内部で積上げする場合に休日も積上げるかどうかを指定します 118 * (初期値:STACK_HOLIDAY_VALUE[={@og.value org.opengion.hayabusa.html.ViewStackTableParam#STACK_HOLIDAY_VALUE}])。 119 * 120 * @og.tag 121 * エンジン内部で積上げを行う場合に休日も積上げるかどうかを指定します。 122 * zoomがDAYの場合のみ有効です。 123 * 初期値はtrue(積上げする)です。 124 * 125 * @og.rev 5.5.8.3 (2012/11/17) 126 * 127 * @param flag 休日積上げ可否 [true:する/false:しない] 128 */ 129 public void setStackHoliday( final String flag ) { 130 putParam( ViewStackTableParam.STACK_HOLIDAY_KEY , 131 nval( getRequestParameter( flag ),ViewStackTableParam.STACK_HOLIDAY_VALUE ) ); 132 } 133 134 /** 135 * 【TAG】その行の能力値カラムを指定します 136 * (初期値:CAP_COLUMN_VALUE[={@og.value org.opengion.hayabusa.html.ViewStackTableParam#CAP_COLUMN_VALUE}])。 137 * 138 * @og.tag 139 * 内部積上げをする際、各行の能力のカラム名を指定します。 140 * カラムを指定しない場合は1となります。 141 * 142 * @og.rev 5.6.1.2 (2013/02/22) 143 * 144 * @param capColumn 能力値のカラム名 145 */ 146 public void setCapacityColumn( final String capColumn ) { 147 putParam( ViewStackTableParam.CAP_COLUMN_KEY , 148 nval( getRequestParameter( capColumn ),ViewStackTableParam.CAP_COLUMN_VALUE ) ); 149 } 150 151 /** 152 * タグの名称を、返します。 153 * 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。 154 * 155 * @return タグの名称 156 * @og.rtnNotNull 157 */ 158 @Override 159 protected String getTagName() { 160 return "stackParam" ; 161 } 162}