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.common.HybsSystem; 019 import org.opengion.hayabusa.common.HybsSystemException; 020 import org.opengion.hayabusa.db.DBTableModel; 021 import org.opengion.hayabusa.resource.GUIInfo; 022 import org.opengion.fukurou.util.XHTMLTag; 023 import org.opengion.fukurou.util.StringUtil; 024 025 import static org.opengion.fukurou.util.StringUtil.nval ; 026 027 import java.io.ObjectOutputStream; 028 import java.io.ObjectInputStream; 029 import java.io.IOException; 030 031 /** 032 * フレーãƒ?‚’作æ?ã™ã‚‹HTML拡張タグã§ã€å¼•æ•°ã®å—ã‘æ¸¡ã—ãŒå¯èƒ½ã§ã™ã? 033 * 034 * @og.formSample 035 * â—å½¢å¼ï¼?lt;og:frame src="…" name="…" /> 036 * â—body?šãªã? 037 * 038 * â—Tag定義?? 039 * <og:frame 040 * src â—‹ã?HTML】フレーãƒ?«è¡¨ç¤ºã™ã‚‹ã‚½ãƒ¼ã‚¹ãƒ•ァイルを指定ã—ã¾ã?å¿??)ã€? 041 * name â—‹ã?HTML】フレーãƒ?を指定ã—ã¾ã?例:QUERY,RESULT,CONTENTS ãªã©)(å¿??)ã€? 042 * changeGamen ã€TAG】ソースæŒ?®šã?ç”»é¢ã‚’変更ã—ã¾ã? 043 * keys ã€TAG】引数を指定ã—ã¾ã? 044 * dbTable ã€TAG】å‰ãƒšã?ジã§é¸æŠžã—ãŸãƒ‡ãƒ¼ã‚¿åˆ—ã?æƒ??を次ã®ãƒšã?ã‚¸ã«æ¸¡ã™ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false) 045 * longdesc ã€HTML】フレーãƒ?«é–¢ã™ã‚‹è©³ã—ã„説明ã?ã‚ã‚‹URL(lobgdesc)を指定ã—ã¾ã? 046 * marginwidth ã€HTML】フレーãƒ??å·¦å³ä½™ç™½ã‚µã‚¤ã‚º(marginwidth)を指定ã—ã¾ã? 047 * marginheight ã€HTML】フレーãƒ??上下余白サイズ(marginheight)を指定ã—ã¾ã? 048 * noresize ã€HTML】フレーãƒ?‚µã‚¤ã‚ºã‚’変更ã§ããªã?‚ˆã?noresize)ã«æŒ?®šã—ã¾ã? 049 * scrolling ã€HTML】スクãƒãƒ¼ãƒ«ãƒã?(scrolling)ã®è¡¨ç¤º/éžè¡¨ç¤º[auto/yes/no]を指定ã—ã¾ã?åˆæœŸå€¤:auto) 050 * frameborder ã€HTML】フレーãƒ??å¢?•Œç·?frameborder)ã®[0:éžè¡¨ç¤º/1:表示]を指定ã—ã¾ã?åˆæœŸå€¤:1) 051 * id ã€HTML】è¦ç´?«å¯¾ã—ã¦å›ºæœ‰ã?åå‰(id)ã‚’ã¤ã‘ã‚‹å ´åˆã«è¨å®šã—ã¾ã? 052 * clazz ã€HTML】è¦ç´?«å¯¾ã—㦠class 属æ?ã‚’è¨å®šã—ã¾ã? 053 * title ã€HTML】è¦ç´?«å¯¾ã™ã‚‹è£œè¶³çš?ƒ…å ±(title)ã‚’è¨å®šã—ã¾ã? 054 * style ã€HTML】ã“ã®è¦ç´?«å¯¾ã—ã¦é©ç”¨ã•ã›ã‚‹ã‚¹ã‚¿ã‚¤ãƒ«ã‚·ãƒ¼ãƒ?style)ã‚’è¨å®šã—ã¾ã? 055 * debug ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false) 056 * /> 057 * 058 * â—使用例ï¼? 059 * ・ä¸?ˆ¬çš?ªä¾‹ï¼šãƒ•レーãƒ??割ã™ã‚‹æ§‹æ–‡ã¯ã€HTMLæº–æ‹ ã€‚ãƒªã‚¯ã‚¨ã‚¹ãƒˆå¤‰æ•°ã¯å?ƒ•レーãƒ?¾ã§è»¢é€ã•れã¾ã™ã? 060 * <frameset> 061 * <og:frame marginheight="2" marginwidth="2" src="query.jsp" name="QUERY" /> 062 * <og:frame marginheight="2" marginwidth="2" src="forward.jsp" name="RESULT" /> 063 * </frameset> 064 * 065 * ・DBTableModel ã®å€¤(例ã§ã¯PN)ã‚’ã?å–り出ã—ã¦ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆå¤‰æ•°ã¨ã—ã¦åˆ©ç”¨ã—ã¾ã™ã? 066 * ç¾çжã§ã¯ã€commonForward ã‚¿ã‚° ã® useTableData="true" dbkeys="{@dbkeys}" 属æ?を利用ã—ã¾ã™ã? 067 * <frameset> 068 * <og:frame marginheight="2" marginwidth="2" src="query.jsp" name="QUERY" keys="PN" dbTable="true" /> 069 * <og:frame marginheight="2" marginwidth="2" src="forward.jsp" name="RESULT" keys="PN" dbTable="true" /> 070 * </frameset> 071 * 072 * ・changeGamen 属æ?を利用ã—ã¦ã€ã‚½ãƒ¼ã‚¹æŒ?®šã?ç”»é¢ã‚’å?り替ãˆã¾ã™ã? 073 * ãŸã¨ãˆã?ã€jsp/index.jsp ã§ã¯ã€GAMENID属æ?ãŒURLã«å˜åœ¨ã™ã‚‹å ´åˆã?直接ãã?ç”»é¢ã‚? 074 * 表示ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã? 075 * <frameset cols="160,*,0" frameborder="1" framespacing="1"> 076 * <og:frame marginheight="2" marginwidth="2" src="menu/menu.jsp" name="MENU" /> 077 * <og:frame marginheight="2" marginwidth="2" src="GE0000/index.jsp" name="CONTENTS" 078 * changeGamen="{@GAMENID}" /> 079 * </frameset> 080 * 081 * @og.group ç”»é¢éƒ¨å“? 082 * 083 * @version 4.0 084 * @author Kazuhiko Hasegawa 085 * @since JDK5.0, 086 */ 087 public class FrameTag extends HTMLTagSupport { 088 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */ 089 private static final String VERSION = "4.2.1.1 (2008/04/30)" ; 090 091 private static final long serialVersionUID = 421120080430L ; 092 093 private String tableId = HybsSystem.TBL_MDL_KEY; 094 private String changeGmn = null; 095 private String keys = null; 096 private transient DBTableModel table = null; 097 private boolean dbTable = false; 098 099 // 3.5.2.0 (2003/10/20) シスãƒ?ƒ パラメータ ã® FRAME_UNDER_BAR_REQUEST_KEY_USED を使用ã€? 100 private final boolean UNDER_BAR_KEY_USED = HybsSystem.sysBool( "FRAME_UNDER_BAR_REQUEST_KEY_USED" ); 101 102 // /** 103 // * Taglibã®é–‹å§‹ã‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doStartTag() ã‚?オーãƒã?ライドã—ã¾ã™ã? 104 // * 105 // * @og.rev 5.0.0.2 (2009/09/15) XSS対å¿?⇒ãƒã‚§ãƒ?‚¯ã™ã‚‹ã®ã§å‰Šé™¤ 106 // * @return int 107 // */ 108 // 109 // public int doStartTag() { 110 // useXssCheck( false ); 111 // return super.doStartTag(); 112 // } 113 114 /** 115 * タグリブオブジェクトをリリースã—ã¾ã™ã? 116 * ã‚ャãƒ?‚·ãƒ¥ã•れã¦å†åˆ©ç”¨ã•れるã?ã§ã€ãƒ•ィールドã?åˆæœŸè¨å®šã‚’行ã„ã¾ã™ã? 117 * 118 * @og.rev 2.0.0.4 (2002/09/27) カスタãƒ?‚¿ã‚°ã® release() メソãƒ?ƒ‰ã‚’ã?追åŠ? 119 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応ã?release2() ã‚?doEndTag()ã§å‘¼ã¶ã€? 120 * 121 */ 122 @Override 123 protected void release2() { 124 super.release2(); 125 tableId = HybsSystem.TBL_MDL_KEY; 126 changeGmn = null; // 4.0.0 (2005/02/28) 127 keys = null; 128 table = null; 129 dbTable = false; 130 } 131 132 /** 133 * リンクを作æ?ã—ã¾ã™ã? 134 * 135 * @og.rev 3.5.4.0 (2003/11/25) comand="RENEW" 時ã«ã¯ã€dbTable 属æ?ã¯ã€å¼·åˆ¶çš?« false ã¨ã—ã¾ã™ã? 136 * 137 * @return リンクタグæ–?—å? 138 */ 139 @Override 140 protected String makeTag() { 141 if( changeGmn != null ) { set( "src",changeGmn ); } 142 143 String cmd = getRequest().getParameter( "command" ); 144 if( "RENEW".equals( cmd ) ) { dbTable = false; } 145 146 setIdName(); 147 String urlEnc = getUrlEncode(); 148 return XHTMLTag.frame( getAttributes(),urlEnc ); 149 } 150 151 /** 152 * id 属æ? / name 属æ? ã‚»ãƒ?ƒˆ 153 * 154 * フレーãƒ?㯠id 属æ?ã§ç™»éŒ²ã™ã‚‹(XHTML) äº’æ›æ€§ã®ãŸã‚ã€? 155 * id 属æ?㨠name 属æ?ã«ã¯åŒã˜å€¤ã‚’ã‚»ãƒ?ƒˆã—ã¦ãŠãã€? 156 * 157 */ 158 private void setIdName() { 159 String idno = get( "id" ); 160 String name = get( "name" ); 161 if( idno == null || idno.length() == 0 ) { 162 if( name != null && name.length() > 0 ) { 163 set( "id", name ); 164 } 165 else { 166 String errMsg = "id 属æ?ã?name 属æ?ã®ã©ã¡ã‚‰ã‹ã¯ç™»éŒ²ã—ã¦ãã ã•ã„ã€?; 167 throw new HybsSystemException( errMsg ); 168 } 169 } 170 else { 171 set( "name", idno ); 172 } 173 } 174 175 /** 176 * keys 属æ? ã‚’å?ã«ã€requestæƒ??より values ã®å€¤ã‚’å–り込ã‚?? 177 * 178 * keys属æ?㯠ã‚ーæƒ??ãŒã‚«ãƒ³ãƒžåŒºåˆ?‚Šã«ãªã£ã¦ã?‚‹ç‚º,ã°ã‚‰ã—㦠179 * values属æ?ã®é…å?ã«ä¸?¤ã¥ã¤è¨å®šã—ã¦ã?ã¾ã™ã? 180 * 181 * @og.rev 2.0.0.2 (2002/09/24) æ¤œç´¢çµæžœã®å€¤ã‚’å–り込ã‚ã¦ã?ªã‹ã£ãŸãƒã‚°ã‚’ä¿®æ£ã€? 182 * @og.rev 2.1.1.1 (2002/11/15) é¸æŠžè¡Œæƒ…å ±ã‚’å–り込ã‚ã¦ã?ªã‹ã£ãŸãƒã‚°ã‚’ä¿®æ£ã€? 183 * @og.rev 3.4.0.3 (2003/09/10) DBTableModelã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆæƒ…å ±ã‚’URLã«é€£çµã—ãªã?‚ˆã?«å¤‰æ›´ã€? 184 * @og.rev 4.0.0.0 (2005/01/31) getParameterRows() を使用ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ 185 * 186 * @return URLエンコードã•ã‚ŒãŸæ–?—å? 187 */ 188 private String getUrlEncode() { 189 int[] rowNo = getParameterRows(); // 4.0.0 (2005/01/31) 190 int selcount = rowNo.length; // 4.0.0 (2005/01/31) 191 192 String[] key = (String[])StringUtil.enume2Array( getParameterNames(), new String[0] ); 193 String[] dbkey = null; 194 195 int dbcount = 0; 196 197 int recount = 0; 198 for( int i=0; i<key.length; i++ ) { 199 if( isNormalRequestKey( key[i] ) ) { // 3.4.0.3 (2003/09/10) 200 recount++; 201 } 202 } 203 204 if( keys != null && dbTable && selcount > 0 ) { 205 dbkey = StringUtil.csv2Array( keys ); 206 dbcount = dbkey.length; 207 } 208 209 String[] val = new String[ recount + dbcount + selcount ]; 210 String[] keyt = new String[ recount + dbcount + selcount ]; 211 212 int j = 0; 213 for( int i=0; i<key.length; i++ ) { 214 if( isNormalRequestKey( key[i] ) ) { // 3.4.0.3 (2003/09/10) 215 keyt[j] = key[i]; 216 val[j] = getRequestValue( key[i] ); 217 j++; 218 } 219 } 220 221 if( dbTable && dbcount > 0 ) { 222 table = (DBTableModel)getSessionAttribute( tableId ); 223 if( table != null ) { 224 for( int i=0; i<dbcount; i++ ) { 225 keyt[recount + i] = dbkey[i]; 226 val[recount +i] = table.getValue(rowNo[0],table.getColumnNo( dbkey[i] )); 227 } 228 } 229 } 230 231 // 4.0.0 (2005/01/31) selectedæ–?—é?列をrowNoæ•°å—é?列ã«å¤‰æ›´ 232 for( int i=0; i<selcount; i++ ) { 233 keyt[recount + dbcount + i] = HybsSystem.ROW_SEL_KEY; 234 val[recount + dbcount + i] = String.valueOf( rowNo[i] ); 235 } 236 237 return XHTMLTag.urlEncode( keyt,val ); 238 } 239 240 /** 241 * ã€HTML】フレーãƒ?«è¡¨ç¤ºã™ã‚‹ã‚½ãƒ¼ã‚¹ãƒ•ァイルを指定ã—ã¾ã™ã? 242 * 243 * @og.tag フレーãƒ?«è¡¨ç¤ºã™ã‚‹ã‚½ãƒ¼ã‚¹ãƒ•ァイルを指定ã—ã¾ã™ã? 244 * 245 * @param src ソースファイル 246 */ 247 public void setSrc( final String src ) { 248 set( "src",getRequestParameter( src ) ); 249 } 250 251 /** 252 * ã€HTML】フレーãƒ?を指定ã—ã¾ã?例:QUERY,RESULT,CONTENTS ãªã©)ã€? 253 * 254 * @og.tag フレーãƒ?を指定ã—ã¾ã™ã? 255 * 256 * @param name フレーãƒ? 257 */ 258 public void setName( final String name ) { 259 set( "name",getRequestParameter( name ) ); 260 } 261 262 /** 263 * ã€HTML】フレーãƒ?«é–¢ã™ã‚‹è©³ã—ã„説明ã?ã‚ã‚‹URL(lobgdesc)を指定ã—ã¾ã™ã? 264 * 265 * @og.tag lobgdescを指定ã—ã¾ã™ã? 266 * 267 * @param longdesc 詳ã—ã„説明ã?ã‚ã‚‹URL 268 */ 269 public void setLongdesc( final String longdesc ) { 270 set( "longdesc",getRequestParameter( longdesc ) ); 271 } 272 273 /** 274 * ã€HTML】フレーãƒ??å·¦å³ä½™ç™½ã‚µã‚¤ã‚º(marginwidth)を指定ã—ã¾ã™ã? 275 * 276 * @og.tag フレーãƒ??å·¦å³ä½™ç™½ã‚µã‚¤ã‚ºã‚’指定ã—ã¾ã™ã? 277 * 278 * @param marginwidth å·¦å³ä½™ç™½ã‚µã‚¤ã‚º 279 */ 280 public void setMarginwidth( final String marginwidth ) { 281 set( "marginwidth",getRequestParameter( marginwidth ) ); 282 } 283 284 /** 285 * ã€HTML】フレーãƒ??上下余白サイズ(marginheight)を指定ã—ã¾ã™ã? 286 * 287 * @og.tag フレーãƒ??上下余白サイズを指定ã—ã¾ã™ã? 288 * 289 * @param marginheight 上下余白サイズ 290 */ 291 public void setMarginheight( final String marginheight ) { 292 set( "marginheight",getRequestParameter( marginheight ) ); 293 } 294 295 /** 296 * ã€HTML】フレーãƒ?‚µã‚¤ã‚ºã‚’変更ã§ããªã?‚ˆã?noresize)ã«æŒ?®šã—ã¾ã™ã? 297 * 298 * @og.tag フレーãƒ?‚µã‚¤ã‚ºã‚’変更ã§ããªã?‚ˆã?«æŒ?®šã—ã¾ã™ã? 299 * 300 * @param noresize フレーãƒ?‚µã‚¤ã‚ºã‚’変更ã•ã›ãªã??åˆã?ã€?noresize" を指定ã—ã¾ã™ã? 301 */ 302 public void setNoresize( final String noresize ) { 303 String ns = getRequestParameter( noresize ); 304 if( ns != null ) { set( "noresize", "noresize" ); } 305 } 306 307 /** 308 * ã€HTML】スクãƒãƒ¼ãƒ«ãƒã?(scrolling)ã®è¡¨ç¤º/éžè¡¨ç¤º[auto/yes/no]を指定ã—ã¾ã?åˆæœŸå€¤:auto)ã€? 309 * 310 * @og.tag 311 * auto:å¿?¦ã«å¿œã˜ã¦ã‚¹ã‚¯ãƒãƒ¼ãƒ«ãƒã?を表示(åˆæœŸå€¤) 312 * yes:常ã«ã‚¹ã‚¯ãƒãƒ¼ãƒ«ãƒã?を表示 313 * no:常ã«ã‚¹ã‚¯ãƒãƒ¼ãƒ«ãƒã?を表示ã—ãªã? 314 * 315 * @param scrolling スクãƒãƒ¼ãƒ«ãƒã?ã®è¡¨ç¤º/éžè¡¨ç¤º[auto:自å‹?yes:常時表示/no:éžè¡¨ç¤º] 316 */ 317 public void setScrolling( final String scrolling ) { 318 set( "scrolling",getRequestParameter( scrolling ) ); 319 } 320 321 /** 322 * ã€HTML】フレーãƒ??å¢?•Œç·?frameborder)ã®[0:éžè¡¨ç¤º/1:表示]を指定ã—ã¾ã?åˆæœŸå€¤:1)ã€? 323 * 324 * @og.tag 325 * 0:æž?‚’表示ã—ãªã? 326 * 1:æž?‚’表示ã™ã‚‹ã€? 327 * åˆæœŸå€¤ã¯ã€?:æž?‚’表示ã™ã‚‹ ã§ã™ã? 328 * 329 * @param frameborder フレーãƒ??å¢?•Œç·š[0:æž?žè¡¨ç¤º/1:æž?¡¨ç¤º] 330 */ 331 public void setFrameborder( final String frameborder ) { 332 set( "frameborder",getRequestParameter( frameborder ) ); 333 } 334 335 /** 336 * ã€TAG】ソースæŒ?®šã?ç”»é¢ã‚’変更ã—ã¾ã™ã? 337 * 338 * @og.tag 339 * src æŒ?®šãŒãƒ?ƒ•ォルトè¨å®šã§ã€changeGamen属æ?ãŒè¨å®šã•れã¦ã?‚‹ 340 * å ´åˆã«ã¯ã€ã“ã®å€¤ãŒå„ªå…ˆã•れã¾ã™ã? 341 * changeGamen ã¯ã€ç”»é¢IDã®ã¿æŒ?®šã—ã¦ãã ã•ã„。src ã«ã¯ã€ã“ã®ID??/index.jsp" ã? 342 * 追åŠ?•れã¾ã™ã?ã¤ã¾ã‚Šã?changeGamen="{@GAMENID}" ã¨ã?†æŒ?®šã‚’ã—ã¦ãŠã‘ã°ã€? 343 * FavoriteLinkTag ç‰ã§å¼•æ•°ã« GAMENID ãŒæŒ‡å®šã•れãŸå ´åˆã?ã¿ã€ã“ã®å±žæ?ãŒæœ‰åйã«ãªã‚Šã? 344 * src="実画é¢ID/index.jsp" ãŒæŒ‡å®šã•れãŸã“ã¨ã¨åŒã˜çµæžœã«ãªã‚Šã¾ã™ã? 345 * 346 * @og.rev 3.1.2.0 (2003/04/07) ç”»é¢IDã¨å®Ÿç”»é¢ãƒ?‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ã®é–¢é€£è¦‹ç›´ã?DIRã®ä»£ã‚Šã«GAMENIDを推奨) 347 * @og.rev 4.2.1.1 (2008/04/30) ç”»é¢åˆ?‚Šæ›¿ãˆã‚’ã™ã‚‹ã®ã¯ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒè¨å®šã•れã„ã‚‹å?åˆã«é™ã‚‹ 348 * @param src ç½®æ›ãˆã‚½ãƒ¼ã‚¹ 349 */ 350 public void setChangeGamen( final String src ) { 351 String sc = nval( getRequestParameter( src ),changeGmn ); 352 if( sc != null ) { 353 GUIInfo guiInfo = getGUIInfo( sc ); 354 // if( guiInfo != null ) { // 見ã¤ã‹ã‚‰ãªã??åˆã?ã€ã‚¢ã‚¯ã‚»ã‚¹ä¸å¯ 355 if( guiInfo != null && guiInfo.getAddress() != null && guiInfo.getAddress().length() > 0 ) { // 見ã¤ã‹ã‚‰ãªã??åˆã?ã€ã‚¢ã‚¯ã‚»ã‚¹ä¸å¯ 356 changeGmn = guiInfo.getRealAddress( "index.jsp" ); 357 } 358 } 359 } 360 361 /** 362 * ã€TAG】引数を指定ã—ã¾ã™ã? 363 * 364 * @og.tag 365 * URL ã®å¼•æ•°ã«ã‚»ãƒ?ƒˆã™ã‚‹ã‚ーã‚?カンマ区åˆ?‚Šã§ã‚»ãƒ?ƒˆã—ã¾ã™ã? 366 * 367 * @param key 引数 368 */ 369 public void setKeys( final String key ) { 370 keys = getRequestParameter( key ) ; 371 } 372 373 /** 374 * ã€TAG】å‰ãƒšã?ジã§é¸æŠžã—ãŸãƒ‡ãƒ¼ã‚¿åˆ—ã?æƒ??を次ã®ãƒšã?ã‚¸ã«æ¸¡ã™ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false)ã€? 375 * 376 * @og.tag 377 * ãŸã ã—ã??‘行å?ã®ãƒ??ã‚¿ã®ã¿ã§ã™ã?(è¤?•°é¸æŠžæ™‚ã¯ã€æœ€åˆã??‘ä»¶ç›®) 378 * true:渡ã? 379 * false:渡ã•ãªã?? 380 * åˆæœŸå€¤ã¯ã€false:渡ã•ãªã?ã§ã™ã? 381 * 382 * @param db é¸æŠžãƒ‡ãƒ¼ã‚¿ã‚’æ¬¡ã®ãƒšã?ã‚¸ã«æ¸¡ã™ã‹ã©ã?‹[true:渡ã?false:渡ã•ãªã„] 383 */ 384 public void setDbTable( final String db ) { 385 dbTable = nval( getRequestParameter( db ),dbTable ); 386 } 387 388 /** 389 * æ¨™æº–çš„ãª ãƒªã‚¯ã‚¨ã‚¹ãƒˆæƒ…å ±ã‹ã©ã?‹ã‚’判æ–ã—ã¾ã™ã? 390 * 391 * ã“れã¯ã€å¼•æ•°ã®ã‚ーãŒã?HybsSystem.ROW_SEL_KEY ã‹ã? 392 * DBTableModel ã§é€ä¿¡ã•れãŸã‚ー( ã‚ー__番å·)å½¢å¼ã?å ´åˆã? 393 * false ã‚’è¿”ã—ã¾ã™ã? 394 * 通常ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚ーã¨ã—ã¦æ‰±ã?Ÿããªã??åˆã?判定ã«ä½¿ç”¨ã—ã¾ã™ã? 395 * 396 * @og.rev 3.4.0.3 (2003/09/10) æ–°è¦è¿½åŠ? 397 * @og.rev 3.5.2.0 (2003/10/20) シスãƒ?ƒ パラメータ ã® FRAME_UNDER_BAR_REQUEST_KEY_USED を使用ã€? 398 * @og.rev 3.5.5.0 (2004/03/12) åå‰ã¨è¡Œç•ªå·ã®åŒºåˆ?‚Šè¨˜å·("__")ã‚’ã?HybsSystem.JOINT_STRING ã«å¤‰æ›´ã€? 399 * 400 * @param key 判定ã™ã‚‹ã‚ー 401 * 402 * @return æ¨™æº–çš„ãª ãƒªã‚¯ã‚¨ã‚¹ãƒˆæƒ…å ±ã‹ã©ã?‹ [true:標準的/false:ãれ以外] 403 */ 404 private boolean isNormalRequestKey( final String key ) { 405 return key != null && 406 ! key.equals( HybsSystem.ROW_SEL_KEY ) && 407 ( key.indexOf( HybsSystem.JOINT_STRING ) < 0 || UNDER_BAR_KEY_USED ); 408 } 409 410 /** 411 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºæ›¸ãè¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰ 412 * 413 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ? 414 * @serialData ä¸?ƒ¨ã®ã‚ªãƒ–ジェクトã?ã€ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•れã¾ã›ã‚“ã€? 415 * 416 * @param strm ObjectOutputStreamオブジェクãƒ? 417 * @throws IOException シリアライズã«é–¢ã™ã‚‹å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå?å? 418 */ 419 private void writeObject( final ObjectOutputStream strm ) throws IOException { 420 strm.defaultWriteObject(); 421 } 422 423 /** 424 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºèªã¿è¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰ 425 * 426 * ã“ã“ã§ã¯ã€transient 宣è¨?•れãŸå†?ƒ¨å¤‰æ•°ã®å†??åˆæœŸåŒ–ãŒå¿?¦ãªãƒ•ィールドã?ã¿è¨å®šã—ã¾ã™ã? 427 * 428 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ? 429 * @serialData ä¸?ƒ¨ã®ã‚ªãƒ–ジェクトã?ã€ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•れã¾ã›ã‚“ã€? 430 * 431 * @param strm ObjectInputStreamオブジェクãƒ? 432 * @see #release2() 433 * @throws IOException シリアライズã«é–¢ã™ã‚‹å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå?å? 434 * @throws ClassNotFoundException クラスを見ã¤ã‘ã‚‹ã“ã¨ãŒã§ããªã‹ã£ãŸå?å? 435 */ 436 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException { 437 strm.defaultReadObject(); 438 } 439 440 /** 441 * ã“ã?オブジェクトã?æ–?—å?表ç¾ã‚’è¿”ã—ã¾ã™ã? 442 * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã? 443 * 444 * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?—å?è¡¨ç¾ 445 */ 446 @Override 447 public String toString() { 448 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() ) 449 .println( "VERSION" ,VERSION ) 450 .println( "tableId" ,tableId ) 451 .println( "changeGmn" ,changeGmn ) 452 .println( "keys" ,keys ) 453 .println( "dbTable" ,dbTable ) 454 .println( "Other..." ,getAttributes().getAttribute() ) 455 .fixForm().toString() ; 456 } 457 }