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 */
418 private void writeObject( final ObjectOutputStream strm ) throws IOException {
419 strm.defaultWriteObject();
420 }
421
422 /**
423 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºèªã¿è¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰
424 *
425 * ã“ã“ã§ã¯ã€transient 宣è¨?•れãŸå†?ƒ¨å¤‰æ•°ã®å†??åˆæœŸåŒ–ãŒå¿?¦ãªãƒ•ィールドã?ã¿è¨å®šã—ã¾ã™ã?
426 *
427 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ?
428 * @serialData
429 *
430 * @param strm ObjectInputStreamオブジェク�
431 * @see #release2()
432 */
433 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException {
434 strm.defaultReadObject();
435 }
436
437 /**
438 * ã“ã?オブジェクトã?æ–?—å?表ç¾ã‚’è¿”ã—ã¾ã™ã?
439 * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã?
440 *
441 * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?—å?表ç¾
442 */
443 @Override
444 public String toString() {
445 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() )
446 .println( "VERSION" ,VERSION )
447 .println( "tableId" ,tableId )
448 .println( "changeGmn" ,changeGmn )
449 .println( "keys" ,keys )
450 .println( "dbTable" ,dbTable )
451 .println( "Other..." ,getAttributes().getAttribute() )
452 .fixForm().toString() ;
453 }
454 }