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     */
016    package org.opengion.hayabusa.taglib;
017    
018    import org.opengion.hayabusa.html.ViewStackTableParam;
019    
020    import static org.opengion.fukurou.util.StringUtil.nval ;
021    
022    import java.io.ObjectOutputStream;
023    import java.io.ObjectInputStream;
024    import java.io.IOException;
025    
026    /**
027     * viewタグの viewFormType ã�?HTMLGanttTable の場合にパラメータを設定しますã?
028     *
029     * ガントチャートを表示する、ViewForm_HTMLGanttTable クラスに対して、各種パラメータã‚?
030     * 設定しますã?
031     * パラメータが設定されてã�?�ªã�??合ã?、ViewStackTableParam の初期値ã�?
032     * 使用されますã?
033     * (パラメータを使用するには、viewタグのuseParam 属æ?をtrueに設定するå¿?¦�がありますã?)
034     *
035     * @og.formSample
036     * ●形式ï¼?lt;og:stackParam stackColumns="PRJCODE,RESOURCE_ID" />
037     * ●body?šなã�?
038     *
039     * ●Tag定義??
040     *   <og:stackParam
041     *       stackColumns       【TAG】積上単位とするカラãƒ?��(カンマ区åˆ?‚Š)をセãƒ?ƒˆしまã�?(å¿??)
042     *       costColumn         【TAG】å?部積上げする場合ã?工数カラãƒ?‚’セãƒ?ƒˆしまã�?
043     *       innerStack         【TAG】工数のå†?ƒ¨積み上げをするかどã�?�‹[true/false]æŒ?®šしまã�?初期値:false)
044     *       debug              【TAG】デバッグæƒ??をå?力するかどã�?�‹[true/false]を指定しまã�?初期値:false)
045     *   />
046     *
047     * @og.rev 5.5.7.0 (2012/10/01) 新規作æ?
048     * @og.group 画面表示
049     *
050     * @version  5.0
051     * @author       Takahashi Masakazu
052     * @since    JDK5.0,
053     */
054    public class ViewStackParamTag extends ViewParamTag {
055            //* こã?プログラãƒ??VERSIONæ–?­—å?を設定しますã?       {@value} */
056            private static final String VERSION = "5.6.1.2 (2013/02/22)" ;
057    
058            private static final long serialVersionUID = 561220130222L ;
059    
060            /**
061             * 【TAG】積上単位とするカラãƒ?��(カンマ区åˆ?‚Š)をセãƒ?ƒˆしまã�?
062             *
063             * @og.tag
064             * 工数積上げのキーとなるカラãƒ?��を指定しますã?
065             * 
066             * è¤?•°ある場合ã?、カンマ区åˆ?‚ŠでæŒ?®šできますã?
067             * ãƒ??ブルモãƒ?ƒ«は積上単位+タスク単位でOrderByがかかってã�?‚‹å¿?¦�がありますã?
068             *
069             * @param       stackColumns タスク?ˆガント)ã?カラãƒ?��(カンマ区åˆ?‚Š)
070             */
071            public void setStackColumns( final String stackColumns ) {
072                    putParam( ViewStackTableParam.STACK_COLUMNS_KEY ,
073                                      nval( getRequestParameter( stackColumns ),null ) );
074            }
075            
076            /**
077             * 【TAG】工数関係ã?カラãƒ?¼ˆ工数,開始日,終äº?—¥?‰をæŒ?®šしますã?
078             *
079             * @og.tag
080             * 工数関係ã?カラãƒ?��を指定しますã?
081             * 工数(x.y)ã€?–‹始日(yyyyMMdd)、終äº?—¥(yyyyMMdd)
082             * の?“つのカラãƒ?‚’カンマ区åˆ?‚Šで設定して下さã�??
083             * エンジンå†?ƒ¨で工数積上げを行う場合ã?å¿??ですã?
084             * 
085             * ãƒ??ブルモãƒ?ƒ«は積上単位+タスク単位でOrderByがかかってã�?‚‹å¿?¦�がありますã?
086             *
087             * @og.rev 5.5.8.3 (2012/11/17)
088             *
089             * @param       costColumns 工数のカラãƒ?��
090             */
091            public void setCostColumns( final String costColumns ) {
092                    putParam( ViewStackTableParam.COST_COLUMNS_KEY ,
093                                      nval( getRequestParameter( costColumns ),null ) );
094            }
095            
096            /**
097             * 【TAG】エンジンå†?ƒ¨で積上げするかどã�?�‹を指定しますã?
098             *
099             * @og.tag
100             * エンジンå†?ƒ¨で積上げを行うかどã�?�‹を指定しますã?
101             * å†?ƒ¨で積上げを行ったå?合ã?、HTMLStackGanttTableではガント行ã?出力を行いませんã€?
102             * 初期値はfalse?ˆ積上げしなã�?¼‰ですã?
103             *
104             * @og.rev 5.5.8.3 (2012/11/17)
105             *
106             * @param       flg å†?ƒ¨積上げをするかどã�?�‹[true/false]
107             */
108            public void setInnerStack( final String flg ) {
109                    putParam( ViewStackTableParam.INNER_STACK_KEY ,
110                                      nval( getRequestParameter( flg ),ViewStackTableParam.INNER_STACK_VALUE ) );
111            }
112            
113            /**
114             * 【TAG】エンジンå†?ƒ¨で積上げする場合に休日も積上げるかどã�?�‹を指定しますã?
115             *
116             * @og.tag
117             * エンジンå†?ƒ¨で積上げを行う場合に休日も積上げるかどã�?�‹を指定しますã?
118             * zoomがDAYの場合ã?み有効ですã?
119             * 初期値はtrue?ˆ積上げする?‰ですã?
120             *
121             * @og.rev 5.5.8.3 (2012/11/17)
122             *
123             * @param       flg 休日積上げをするかどã�?�‹[true/false]
124             */
125            public void setStackHoliday( final String flg ) {
126                    putParam( ViewStackTableParam.STACK_HOLIDAY_KEY ,
127                                      nval( getRequestParameter( flg ),ViewStackTableParam.STACK_HOLIDAY_VALUE ) );
128            }
129            
130            /**
131             * 【TAG】その行ã?能力å?カラãƒ?‚’æŒ?®šしますã?
132             *
133             * @og.tag
134             * å†?ƒ¨積上げをする際、各行ã?能力ã?カラãƒ?��を指定しますã?
135             * カラãƒ?‚’æŒ?®šしなã�??合ã?1となりますã?
136             *
137             * @og.rev 5.6.1.2 (2013/02/22)
138             *
139             * @param       capColumn 能力å?のカラãƒ?��
140             */
141            public void setCapacityColumn( final String capColumn ) {
142                    putParam( ViewStackTableParam.CAP_COLUMN_KEY ,
143                                      nval( getRequestParameter( capColumn ),ViewStackTableParam.CAP_COLUMN_VALUE  ) );
144            }
145            
146            /**
147             * タグの名称をã?返しますã?
148             * 自åˆ??身のクラス名よりã?自動的に取り出せなã�?�Ÿめã?こã?メソãƒ?ƒ‰をオーバã?ライドしますã?
149             *
150             *
151             * @return  タグの名称
152             */
153            @Override
154            protected String getTagName() {
155    //              return "ganttParam" ;
156                    return "stackParam" ;
157            }
158    
159            /**
160             * シリアライズ用のカスタãƒ?‚·リアライズ書き込みメソãƒ?ƒ‰
161             *
162             * @serialData ä¸?ƒ¨のオブジェクトã?、シリアライズされませんã€?
163             *
164             * @param       strm    ObjectOutputStreamオブジェクãƒ?
165             * @throws IOException  入出力エラーが発生したå?å�?
166             */
167            private void writeObject( final ObjectOutputStream strm ) throws IOException {
168                    strm.defaultWriteObject();
169            }
170    
171            /**
172             * シリアライズ用のカスタãƒ?‚·リアライズ読み込みメソãƒ?ƒ‰
173             *
174             * ここでは、transient 宣è¨?�•れたå†?ƒ¨変数のå†??初期化がå¿?¦�なフィールドã?み設定しますã?
175             *
176             * @serialData ä¸?ƒ¨のオブジェクトã?、シリアライズされませんã€?
177             *
178             * @param       strm    ObjectInputStreamオブジェクãƒ?
179             * @see #release2()
180             * @throws IOException  シリアライズに関する入出力エラーが発生したå?å�?
181             * @throws ClassNotFoundException       クラスを見つけることができなかったå?å�?
182             */
183            private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException {
184                    strm.defaultReadObject();
185            }
186    }