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