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.ViewCalendarParam;
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 ã?HTMLCalendar ã®å ´åˆã«ãƒ‘ラメータをè¨å®šã—ã¾ã™ã?
028 *
029 * カレンãƒ??を表示ã™ã‚‹ã€ViewForm_HTMLCalendar クラスã«å¯¾ã—ã¦ã€å„種パラメータã‚?
030 * è¨å®šã—ã¾ã™ã?
031 * パラメータãŒè¨å®šã•れã¦ã?ªã??åˆã?ã€ViewCalendarParam ã®åˆæœŸå€¤ãŒä½¿ç”¨ã•れã¾ã™ã?
032 * (パラメータを使用ã™ã‚‹ã«ã¯ã€viewã‚¿ã‚°ã®useParam 属æ?ã‚’trueã«è¨å®šã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?)
033 *
034 * @og.formSample
035 * â—å½¢å¼ï¼?lt;og:calendarParam ymKey="YYYYMM" dayKey="DY" firstWeek="0" />
036 * â—body?šãªã?
037 *
038 * â—Tag定義??
039 * <og:calendarParam
040 * viewKeys ã€TAG】行ã?ã‚ーã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã‚’è¤?•°æŒ?®šã—ã¾ã?äº‹æ¥æ‰?‚„WCãªã©)
041 * ymKey ã€TAG】行ã?ã‚ーã¨ãªã‚‹å¹´æœˆã‚’表ã™ã‚«ãƒ©ãƒ?を指定ã—ã¾ã?
042 * dayKey ã€TAG】日付ã‘(休日フラグ)ã®ã‚ーã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã®è‹±å—部åˆ?‚’æŒ?®šã—ã¾ã?DY1 ??DY31)
043 * valueKey ã€TAG】データã®å€¤ã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã®è‹±å—部åˆ?‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤ã¯ä½¿ç”¨ã—ã¾ã›ã‚“)
044 * valueBRFlag ã€TAG】データã®å€¤ã‚’使用ã™ã‚‹å ´åˆã«ã€æ—¥ä»˜ã‘ã¨ã®é–¢ä¿‚ã§ã€BR ã‚’å?れるã‹ã©ã?‹æŒ?®šã—ã¾ã?
045 * firstWeek ã€TAG】カレンãƒ?¡¨ç¤ºã®é€±ã®åˆã‚を指定ã—ã¾ã? 0ã¯ã€æ—¥æ›œæ—¥ã‹ã‚‰ã€?ã¯æœˆæ›œæ—¥ã‹ã‚‰)
046 * headerLocale ã€TAG】é?表示ヘッãƒ??を表示ã™ã‚‹æ™‚ã?ã€Locale(language ã®ã¿) を指定ã—ã¾ã?
047 * columnSize ã€TAG】カレンãƒ?‚’横ã«ä¸¦ã¹ã‚‹å?åˆã?æ•°é‡ã‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤: 3)
048 * debug ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false)
049 * />
050 *
051 * â—使用ä¾?
052 * ViewFormTag ã® viewFormType ãŒã?ViewCalendarParam ã®å ´åˆã«ä½¿ç”¨ã—ã¾ã™ã?
053 * useParam 属æ?ã‚’è¨å®šã—ã¦ãŠã‹ãªã?¨ã€ä½¿ç”¨ã•れã¾ã›ã‚“ã€?
054 * <og:view
055 * <b>viewFormType = "HTMLCalendar"</b>
056 * command = "{@command}"
057 * startNo = "0"
058 * pageSize = "20"
059 * <b>useParam = "true"</b>
060 * >
061 * <og:calendarParam
062 * viewKeys = "CDJGS"
063 * ymKey = "YYYYMM"
064 * dayKey = "DY"
065 * valueKey = ""
066 * valueBRFlag = "true"
067 * firstWeek = "0"
068 * headerLocale = "en"
069 * columnSize = "3"
070 * />
071 * </og:view >
072 *
073 * @og.rev 3.5.6.0 (2004/06/18) æ–°è¦ä½œæ?
074 * @og.group ç”»é¢è¡¨ç¤º
075 *
076 * @version 4.0
077 * @author Kazuhiko Hasegawa
078 * @since JDK5.0,
079 */
080 public class ViewCalendarParamTag extends ViewParamTag {
081 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */
082 private static final String VERSION = "4.0.0.0 (2006/09/31)" ;
083
084 private static final long serialVersionUID = 400020060931L ;
085
086 /**
087 * ã€TAG】行ã?ã‚ーã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã‚’è¤?•°æŒ?®šã—ã¾ã?äº‹æ¥æ‰?‚„WCãªã©)ã€?
088 *
089 * @og.tag
090 * エンジン標準カレンãƒ?GE13)ã§ã¯ã€å¹´æœ?YYYYMM)ã¨äº‹æ¥æ‰?‚³ãƒ¼ãƒ?CDJGS)
091 * ã§ãƒ¦ãƒ‹ã?クã‚ーã«ãªã‚Šã¾ã™ã?ã¾ãŸã?能力カレンãƒ?ªã©ã§ã¯ã€äº‹æ¥æ‰??ワークセンタ
092 * ã§ã€ãƒ¦ãƒ‹ã?クã«ãªã‚Šã¾ã™ã?
093 * ãれらã?ã‚ーé ?›®ã‚’ç·¨é›?§ãるよã†ã«ã€ã‚«ãƒ©ãƒ?‚’カンマ区åˆ?‚Šã§æŒ?®šã—ã¾ã™ã?
094 *
095 * @og.rev 3.5.6.0 (2004/06/18) æ–°è¦ä½œæ?
096 *
097 * @param viewKeys 行ã?ã‚ーã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã‚’è¤?•°æŒ?®?
098 */
099 public void setViewKeys( final String viewKeys ) {
100 putParam( ViewCalendarParam.VIEW_KEYS ,
101 nval( getRequestParameter( viewKeys ),null ) );
102 }
103
104 /**
105 * ã€TAG】行ã?ã‚ーã¨ãªã‚‹å¹´æœˆã‚’表ã™ã‚«ãƒ©ãƒ?を指定ã—ã¾ã™ã?
106 *
107 * @og.tag
108 * ç¾ã‚«ãƒ¬ãƒ³ãƒ??ã¯ã€å¹´æœˆæ¯Žã«ã€?¼“1å?ã®æ—¥ä»˜ã‘フィールドをæŒã£ãŸãƒ‡ãƒ¼ã‚¿ã‚?
109 * 剿ã¨ã—ã¦ã?¾ã™ã?å·¥å ´ã‚?º‹æ¥æ‰?ªã©ã®åŒºåˆ??ã€å–得時ã«ã¯ç¢ºå®šã•ã›ã¦ãŠãå¿?¦ãŒã‚りã¾ã™ã?
110 * åˆæœŸå€¤ã¯ã€ViewCalendarParam ã«ä¾å˜ã—ã¾ã™ã?(例:YYYYMM)
111 *
112 * @param ymKey 行ã?ã‚ーã¨ãªã‚‹å¹´æœˆã‚’表ã™ã‚«ãƒ©ãƒ?
113 */
114 public void setYmKey( final String ymKey ) {
115 putParam( ViewCalendarParam.YM_KEY ,
116 nval( getRequestParameter( ymKey ),null ) );
117 }
118
119 /**
120 * ã€TAG】日付ã‘(休日フラグ)ã®ã‚ーã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã®è‹±å—部åˆ?‚’æŒ?®šã—ã¾ã?DY1 ??DY31)ã€?
121 *
122 * @og.tag
123 * カレンãƒ??を表示ã™ã‚‹å ´åˆã?ã€å„æ—¥ä»˜ã‘æ¬??カラãƒ?ã®è‹±å—部åˆ?‚’æŒ?®šã—ã¾ã™ã?
124 * ç¾ã‚«ãƒ¬ãƒ³ãƒ??ã¯ã€å¹´æœˆæ¯Žã«ã€?¼“1å?ã®æ—¥ä»˜ã‘フィールドをæŒã£ãŸãƒ‡ãƒ¼ã‚¿ã‚?
125 * 剿ã¨ã—ã¦ã?¾ã™ã?よã£ã¦ã€ã“ã®ã‚«ãƒ©ãƒ?(英å—部åˆ??‹æ—¥ä»˜ã‘(?‘~3ï¼?ã‚?
126 * å‹•çš„ã«ä½œæ?ã—ã¦ã€æ—¥ä»˜ã‘カラãƒ?¨ã—ã¦å–å¾—ã—ã¾ã™ã?
127 * 例ãˆã°ã€?DY" ã¨ã?†æ–?—ã‚’æŒ?®šã—ãŸå?åˆã?DY1 ??DY31 ã®ã‚«ãƒ©ãƒ?ã‚?
128 * 使用ã—ã¦ã€æ¤œç´¢çµæžœã® DBTableModel より値をå–å¾—ã—ã¾ã™ã?
129 * åˆæœŸå€¤ã¯ã€ViewCalendarParam ã«ä¾å˜ã—ã¾ã™ã?(例:DY)
130 *
131 * @param dayKey 日付ã‘(休日フラグ)ã®ã‚ーã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã®è‹±å—部åˆ?
132 */
133 public void setDayKey( final String dayKey ) {
134 putParam( ViewCalendarParam.DAY_KEY ,
135 nval( getRequestParameter( dayKey ),null ) );
136 }
137
138 /**
139 * ã€TAG】データã®å€¤ã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã®è‹±å—部åˆ?‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤ã¯ä½¿ç”¨ã—ã¾ã›ã‚“)ã€?
140 *
141 * @og.tag
142 * カレンãƒ??を表示ã™ã‚‹å ´åˆã?ã€å„æ—¥ä»˜ã‘æ¬??値ã®ã‚«ãƒ©ãƒ?ã®è‹±å—部åˆ?‚’æŒ?®šã—ã¾ã™ã?
143 * ç¾ã‚«ãƒ¬ãƒ³ãƒ??ã¯ã€å¹´æœˆæ¯Žã«ã€?¼“1å?ã®å€¤ãƒ•ィールドをæŒã£ãŸãƒ‡ãƒ¼ã‚¿ã‚?
144 * 剿ã¨ã—ã¦ã?¾ã™ã?よã£ã¦ã€ã“ã®ã‚«ãƒ©ãƒ?(英å—部åˆ??‹æ—¥ä»˜ã‘(?‘~3ï¼?ã‚?
145 * å‹•çš„ã«ä½œæ?ã—ã¦ã€å?カラãƒ?¨ã—ã¦å–å¾—ã—ã¾ã™ã?
146 * 例ãˆã°ã€?VAL" ã¨ã?†æ–?—ã‚’æŒ?®šã—ãŸå?åˆã?VAL1 ??VAL31 ã®ã‚«ãƒ©ãƒ?ã‚?
147 * 使用ã—ã¦ã€æ¤œç´¢çµæžœã® DBTableModel より値をå–å¾—ã—ã¾ã™ã?
148 * åˆæœŸå€¤ã¯ã€ViewCalendarParam ã«ä¾å˜ã—ã¾ã™ã?(例:使用ã—ã¦ã?¾ã›ã‚“)
149 *
150 * @param valueKey ãƒ??ã‚¿ã®å€¤ã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã®è‹±å—部åˆ?‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤ã¯ä½¿ç”¨ã—ã¾ã›ã‚“)
151 */
152 public void setValueKey( final String valueKey ) {
153 putParam( ViewCalendarParam.VALUE_KEY ,
154 nval( getRequestParameter( valueKey ),null ) );
155 }
156
157 /**
158 * ã€TAG】データã®å€¤ã‚’使用ã™ã‚‹å ´åˆã«ã€æ—¥ä»˜ã‘ã¨ã®é–¢ä¿‚ã§ã€BR ã‚’å?れるã‹ã©ã?‹æŒ?®šã—ã¾ã™ã?
159 *
160 * @og.tag
161 * ãƒ??タを表示ã™ã‚‹å ´åˆã?日付ã‘ã®æ¨ªã«ã¤ã‘ã‚‹ã‹ã?日付ã‘ã®ä¸‹ã«ä»˜ã‘ã‚‹ã‹ã‚’指定ã—ã¾ã™ã?
162 * ãŸã ã—ã?valueKey ã§ã€å?カラãƒ?‚’æŒ?®šã—ãŸå?åˆã?ã¿ã€æœ‰åйã«ãªã‚Šã¾ã™ã?
163 * åˆæœŸå€¤ã¯ã€ViewCalendarParam ã«ä¾å˜ã—ã¾ã™ã?(例:true)
164 *
165 * @param valueBRFlag 日付ã‘(休日フラグ)ã®ã‚ーã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã®è‹±å—部åˆ?
166 */
167 public void setValueBRFlag( final String valueBRFlag ) {
168 putParam( ViewCalendarParam.VALUE_BR_FLAG_KEY ,
169 nval( getRequestParameter( valueBRFlag ),null ) );
170 }
171
172 /**
173 * ã€TAG】カレンãƒ?¡¨ç¤ºã®é€±ã®åˆã‚を指定ã—ã¾ã? 0ã¯ã€æ—¥æ›œæ—¥ã‹ã‚‰ã€?ã¯æœˆæ›œæ—¥ã‹ã‚‰)ã€?
174 *
175 * @og.tag
176 * カレンãƒ??週表示ã§ã€ã©ã®æ›œæ—¥ã‹ã‚‰è¡¨ç¤ºã‚’å§‹ã‚ã‚‹ã‹ã‚’指定ã—ã¾ã™ã?
177 * 0ã¯ã€æ—¥æ›œæ—¥ã‹ã‚‰ã€?ã¯æœˆæ›œæ—¥ã‹ã‚‰è¡¨ç¤ºã‚’é–‹å§‹ã—ã¾ã™ã?
178 * åˆæœŸå€¤ã¯ã€ViewCalendarParam ã«ä¾å˜ã—ã¾ã™ã?(例ï¼? 日曜日ã‹ã‚‰)
179 *
180 * @param firstWeek カレンãƒ?¡¨ç¤ºã®é€±ã®åˆã‚
181 */
182 public void setFirstWeek( final String firstWeek ) {
183 putParam( ViewCalendarParam.FIRSTWEEK_KEY ,
184 nval( getRequestParameter( firstWeek ),null ) );
185 }
186
187 /**
188 * ã€TAG】é?表示ヘッãƒ??を表示ã™ã‚‹æ™‚ã?ã€Locale(language ã®ã¿) を指定ã—ã¾ã™ã?
189 *
190 * @og.tag
191 * ç¾å®Ÿè£?§ã¯ã€?ja" 㨠"en" ã®ã¿æŒ?®šå¯èƒ½ã§ã™ã?
192 * å°?¥çš?«ã¯ã€SimpleDateFormat を使用ã—ã?多è¨?ªžå¯¾å¿œã—ã¾ã™ãŒã€ç¾æ®µéšŽã§ã¯ã€?
193 * (æ—¥ã€æœˆã€ç«ã€æ°´ã€æœ¨ã€?ßã€åœŸ)ã¨ã€?SUN,MON,TUE,WED,THU,FRI,SAT)ã®
194 * ?’種類をåˆ?‚Šæ›¿ãˆã¦ã?‚‹ã?‘ã§ã™ã?
195 * ã©ã®æ›œæ—¥ã‹ã‚‰è¡¨ç¤ºã‚’å§‹ã‚ã‚‹ã‹ã¯ã€firstWeek 属æ?ã§è¨å®šã—ã¾ã™ã?
196 * åˆæœŸå€¤ã¯ã€ViewCalendarParam ã«ä¾å˜ã—ã¾ã™ã?(例ï¼?en")
197 *
198 * @param headerLocale ヘッãƒ??ã® Locale(language ã®ã¿)
199 */
200 public void setHeaderLocale( final String headerLocale ) {
201 putParam( ViewCalendarParam.HEADER_LOCALE_KEY ,
202 nval( getRequestParameter( headerLocale ),null ) );
203 }
204
205 /**
206 * ã€TAG】カレンãƒ?‚’横ã«ä¸¦ã¹ã‚‹å?åˆã?æ•°é‡ã‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤: 3)ã€?
207 *
208 * @og.tag
209 * カレンãƒ?‚’è¤?•°ä¸¦ã¹ã‚‹å?åˆã?横方å‘ã?件数を指定ã—ã¾ã™ã?
210 * ?‘年を表ã™å?åˆã??“*ï¼?ã‚??’*ï¼?ã®ã‚«ãƒ¬ãƒ³ãƒ?Œä¸?ˆ¬çš?§ã™ã?
211 * ã“ã“ã§ã¯ã€æ¨ªæ–¹å??“ã‚„??ã®ä»¶æ•°ã‚’指定ã™ã‚‹ã“ã¨ã§ã€ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’
212 * æŒ?®šã—ã¾ã™ã?
213 *
214 * @og.rev 3.5.6.0 (2004/06/18) æ–°è¦ä½œæ?
215 *
216 * @param columnSize カレンãƒ?‚’横ã«ä¸¦ã¹ã‚‹å?åˆã?æ•°é‡?åˆæœŸå€¤: 3)
217 */
218 public void setColumnSize( final String columnSize ) {
219 putParam( ViewCalendarParam.COLUMN_SIZE_KEY ,
220 nval( getRequestParameter( columnSize ),null ) );
221 }
222
223 /**
224 * ã‚¿ã‚°ã®åç§°ã‚’ã?è¿”ã—ã¾ã™ã?
225 * 自åˆ??身ã®ã‚¯ãƒ©ã‚¹åよりã?自動的ã«å–り出ã›ãªã?Ÿã‚ã?ã“ã?メソãƒ?ƒ‰ã‚’オーãƒã?ライドã—ã¾ã™ã?
226 *
227 * @og.rev 4.0.0.0 (2005/01/31) æ–°è¦è¿½åŠ?
228 *
229 * @return ã‚¿ã‚°ã®åç§°
230 */
231 @Override
232 protected String getTagName() {
233 return "calendarParam" ;
234 }
235
236 /**
237 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºæ›¸ãè¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰
238 *
239 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ?
240 * @serialData ä¸?ƒ¨ã®ã‚ªãƒ–ジェクトã?ã€ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•れã¾ã›ã‚“ã€?
241 *
242 * @param strm ObjectOutputStreamオブジェク�
243 * @throws IOException 入出力エラーãŒç™ºç”Ÿã—ãŸå?å?
244 */
245 private void writeObject( final ObjectOutputStream strm ) throws IOException {
246 strm.defaultWriteObject();
247 }
248
249 /**
250 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºèªã¿è¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰
251 *
252 * ã“ã“ã§ã¯ã€transient 宣è¨?•れãŸå†?ƒ¨å¤‰æ•°ã®å†??åˆæœŸåŒ–ãŒå¿?¦ãªãƒ•ィールドã?ã¿è¨å®šã—ã¾ã™ã?
253 *
254 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ?
255 * @serialData ä¸?ƒ¨ã®ã‚ªãƒ–ジェクトã?ã€ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•れã¾ã›ã‚“ã€?
256 *
257 * @param strm ObjectInputStreamオブジェク�
258 * @see #release2()
259 * @throws IOException シリアライズã«é–¢ã™ã‚‹å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå?å?
260 * @throws ClassNotFoundException クラスを見ã¤ã‘ã‚‹ã“ã¨ãŒã§ããªã‹ã£ãŸå?å?
261 */
262 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException {
263 strm.defaultReadObject();
264 }
265 }