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 */ 244 private void writeObject( final ObjectOutputStream strm ) throws IOException { 245 strm.defaultWriteObject(); 246 } 247 248 /** 249 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºèªã¿è¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰ 250 * 251 * ã“ã“ã§ã¯ã€transient 宣è¨?•れãŸå†?ƒ¨å¤‰æ•°ã®å†??åˆæœŸåŒ–ãŒå¿?¦ãªãƒ•ィールドã?ã¿è¨å®šã—ã¾ã™ã? 252 * 253 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ? 254 * @serialData 255 * 256 * @param strm ObjectInputStreamオブジェクãƒ? 257 * @see #release2() 258 */ 259 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException { 260 strm.defaultReadObject(); 261 } 262 }