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.fukurou.db.DBUtil; 022 023 import org.opengion.fukurou.util.ErrorMessage; 024 import org.opengion.fukurou.util.StringUtil ; 025 import static org.opengion.fukurou.util.StringUtil.nval ; 026 import org.opengion.fukurou.model.Formatter; 027 028 import java.util.Locale ; 029 import java.util.List ; 030 import java.util.ArrayList ; 031 032 import java.io.ObjectOutputStream; 033 import java.io.ObjectInputStream; 034 import java.io.IOException; 035 036 /** 037 * ã€å»?¢ã€‘登録ã™ã¹ãデータã®ãƒžã‚¹ã‚¿å˜åœ¨ãƒã‚§ãƒ?‚¯ã‚’行ã†ãŸã‚ã®ã‚¿ã‚°ã§ã?通常ã¯entry.jspã§updateã‚¿ã‚°ã®ç›´å‰ã§ä½¿ç”¨ã—ã¾ã?ã€? 038 * 039 * ã“ã?è¦ç´??å†?®¹ã«ã€SQLæ–?‚’記述ã—ã¾ã™ã? 040 * names ã«å¯¾å¿œã™ã‚‹ã‚«ãƒ©ãƒ?ã‚’ã?カンマ区åˆ?‚Šã§è¤?•°ä¸Žãˆã¾ã™ã?ãã?値をã?DBTableModel 041 * よりã€å–å¾—ã—ã€å?ã®SQLæ–?? ? ã«å€¤ã‚’è¨å®šã—ã¾ã™ã? 042 * ã¾ãŸã?ã€å¼•数部ã«ã€[カラãƒ?]を用ã?ŸHybsæ‹¡å¼µSQLæ–?‚’æŒ?®šã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã? 043 * 044 * 値ã®å–å¾—ã?ã€å?ã«é¸æŠžã•れãŸè¡Œã?ã¿ã«ã¤ã?¦ã€å®Ÿè¡Œã•れã¾ã™ã? 045 * exist 属æ?ã«æŒ?®šã•れ㟠ã€?½¢true:å˜åœ¨ã™ã‚‹?£ã€?½¢false:å˜åœ¨ã—ãªã?½£ã€?½¢one:ã²ã¨ã¤ä»¥ä¸‹ï½£ã€? 046 * ã®å€¤ã¯ã€ãƒã‚§ãƒ?‚¯æ–¹æ³•ã‚’è¨å®šã—ã¦ã?¾ã™ã? 047 * ã?šã‚Œã?å ´åˆã‚‚ã€æ?立時ã¯ã€æ£å¸¸ã¨ã¿ãªã—ã¾ã™ã? 048 * (?¢true:å˜åœ¨ã™ã‚‹?£ ã«ã¯ã€ãƒ‡ãƒ¼ã‚¿ãŒå˜åœ¨ã—ãŸå ´åˆã«ã€?¼¯?«ã§ã€ãªã‘れã°ã‚¨ãƒ©ãƒ¼ã§ã™ã?) 049 * 050 * @og.formSample 051 * â—å½¢å¼ï¼? 052 * ・<og:tableExist 053 * command = "{@command}" 054 * names = "[…]" 055 * from = "…" å¿?? 056 * where = "…" å¿?? 057 * exist = "[auto|true|false|one|notuse]" å¿?? 058 * errRemove = "[true|false]" 059 * /> 060 * 061 * â—body?šãªã? 062 * 063 * â—Tag定義?? 064 * <og:tableExist 065 * command ã€å»?¢ã€‘コマンãƒ?ENTRY)ã‚’ã‚»ãƒ?ƒˆã—ã¾ã? 066 * scope ã€TAG】ã‚ャãƒ?‚·ãƒ¥ã™ã‚‹å ´åˆã?スコープ[request/page/session/applicaton]を指定ã—ã¾ã?åˆæœŸå€¤:session) 067 * names ã€å»?¢ã€‘引数ã«ã‚»ãƒ?ƒˆã™ã¹ã?ãƒ??ã‚¿ã®åç§°(カラãƒ?)ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã? 068 * from â—‹ã?å»?¢ã€‘ãƒã‚§ãƒ?‚¯ã™ã‚‹ãƒ??タベã?スå?from å¥)を指定ã—ã¾ã?å¿??)ã€? 069 * where â—‹ã?å»?¢ã€‘ãƒã‚§ãƒ?‚¯ã™ã‚‹æ¤œç´¢æ¡ä»¶(whereå¥)を指定ã—ã¾ã?å¿??)ã€? 070 * exist ã€å»?¢ã€‘データベã?スã®ãƒã‚§ãƒ?‚¯æ–¹æ³?auto/true/false/one/notuse)を指定ã—ã¾ã?åˆæœŸå€¤:?¢auto:自動」) 071 * tableId ã€å»?¢ã€?通常ã¯ä½¿ã?¾ã›ã‚“)çµæžœã‚’DBTableModelã«æ›¸ã込んã§ã€sessionã«ç™»éŒ²ã™ã‚‹ã¨ãã?ã‚ーを指定ã—ã¾ã? 072 * dbid ã€å»?¢ã€?通常ã¯ä½¿ã?¾ã›ã‚“)Queryオブジェクトを作æ?ã™ã‚‹æ™‚ã?DB接続IDを指定ã—ã¾ã? 073 * errRemove ã€å»?¢ã€‘エラー時ã?é¸æŠžè¡Œã‚’å–り除ã?¦ç¶™ç¶šå?ç?‚’行ã†ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false) 074 * debug ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false) 075 * /> 076 * 077 * â—使用ä¾? 078 * ・<og:tableExist 079 * command = "{@command}" 080 * names = "USERID,SYSTEM_ID" 081 * from = "GE10" 082 * where = "USERID=? AND SYSTEM_ID=?" 083 * exist = "true" /> 084 * 085 * ・where æ¡ä»¶ã® ? æ–?—ã«ã€names ã§æŒ?®šã—ãŸã‚«ãƒ©ãƒ?ã®å€¤ãŒã?DBTableModelより 086 * å–å¾—ã•れã¾ã™ã? 087 * 値ã®å–å¾—ã?ã€å?ã«é¸æŠžã•れãŸè¡Œã?ã¿ã«ã¤ã?¦ã€å®Ÿè¡Œã•れã¾ã™ã? 088 * ・exist 属æ?ã®å€¤ã«å¿œã˜ã¦ã€ãƒã‚§ãƒ?‚¯æ–¹æ³•ãŒç•°ãªã‚Šã¾ã™ã? 089 * auto , true , false , one , notuse ãŒæŒ‡å®šã§ãã¾ã™ã? 090 * ・ãƒ??ブルã¯ã€?¼‘ã¤ã®ã¿æŒ?®šã§ãã¾ã™ã?è¤?•°æŒ?®šã‚„ã€UNIONã§çµåˆã™ã‚‹å ´åˆã?ã€? 091 * ビューç‰ã‚’作æ?ã—ã¦å¯¾å¿œã—ã¦ãã ã•ã„ã€? 092 * 093 * ・<og:tableExist 094 * command = "{@command}" 095 * from = "GE10" 096 * where = "USERID=[USERID] AND SYSTEM_ID=[SYSTEM_ID]" /> 097 * 098 * ・where æ¡ä»¶ã® [カラãƒ?] æ–?—ã«ã€DBTableModelより値ãŒã‚»ãƒ?ƒˆã•れã¾ã™ã? 099 * ・exist ã¯ã€å?期å?(auto)ã«ãªã‚Šã¾ã™ã?å†?ƒ¨ã®A,C,Dã«å¿œã˜ã¦è‡ªå‹•判別ã—ã¾ã™ã? 100 * 101 * @og.rev 3.5.0.0 (2003/09/17) æ–°è¦ä½œæ? 102 * @og.group (å»?¢)?¤?¢ç™»éŒ² 103 * 104 * @version 4.0 105 * @author Kazuhiko Hasegawa 106 * @since JDK5.0, 107 * @deprecated 代ã‚り㫠dataCheckタグを使用ã—ã¦ãã ã•ã„ 108 */ 109 @Deprecated public class TableExistTag extends CommonTagSupport { 110 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */ 111 private static final String VERSION = "4.0.0.0 (2007/11/28)" ; 112 113 private static final long serialVersionUID = 400020071128L ; 114 115 /** command å¼•æ•°ã«æ¸¡ã™äº‹ã?出æ¥ã‚?コマンãƒ? エントリー {@value} */ 116 public static final String CMD_ENTRY = "ENTRY" ; 117 118 /** command å¼•æ•°ã«æ¸¡ã™äº‹ã?出æ¥ã‚?コマンãƒ?リスãƒ? */ 119 private static final String COMMAND_LIST = CMD_ENTRY; 120 121 // 3.5.6.0 (2004/06/18) ã™ã¹ã¦ã‚?protected ã‹ã‚‰ private ã«å¤‰æ›´ã—ã¾ã™ã? 122 private transient DBTableModel table = null; 123 private transient ErrorMessage errMessage = null; 124 private String tableId = HybsSystem.TBL_MDL_KEY; 125 // 4.0.0.0 (2007/10/10) dbid ã®åˆæœŸå€¤ã‚’ã?"DEFAULT" ã‹ã‚‰ null ã«å¤‰æ›´ 126 // private String dbid = "DEFAULT"; 127 private String dbid = null; 128 private String command = CMD_ENTRY; 129 private String sql = null; 130 private String names = null; 131 private String from = null; 132 private String where = null; 133 private String exist = "auto"; 134 private boolean errRemove = false; 135 136 /** 137 * Taglibã®é–‹å§‹ã‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doStartTag() ã‚?オーãƒã?ライドã—ã¾ã™ã? 138 * 139 * @og.rev 3.7.1.0 (2005/04/15) notuse 値を追åŠ? 140 * 141 * @return 後続å?ç??æŒ?¤º(SKIP_BODY) 142 */ 143 @Override 144 public int doStartTag() { 145 if( !exist.equalsIgnoreCase( "notuse" ) ) { 146 table = (DBTableModel)getObject( tableId ); 147 if( table != null && table.getRowCount() > 0 && check( command, COMMAND_LIST ) ) { 148 sql = makeSQLString(); 149 execute( sql ); 150 } 151 } 152 153 return(SKIP_BODY); // Body を評価ã—ãªã? 154 } 155 156 /** 157 * Taglibã®çµ‚äº?‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doEndTag() ã‚?オーãƒã?ライドã—ã¾ã™ã? 158 * 159 * @og.rev 3.5.4.2 (2003/12/15) HTMLTableViewForm クラスå変更(â‡?ViewForm_HTMLTable) 160 * @og.rev 3.5.4.4 (2004/01/16) ã‚¨ãƒ©ãƒ¼çµæžœã‚’表示ã™ã‚‹ãƒ??ブル形å¼ã?フォーãƒ?¿®æ£ 161 * @og.rev 3.5.5.2 (2004/04/02) TaglibUtil.makeHTMLErrorTable メソãƒ?ƒ‰ã‚’利用 162 * 163 * @return 後続å?ç??æŒ?¤º 164 */ 165 @Override 166 public int doEndTag() { 167 debugPrint(); // 4.0.0 (2005/02/28) 168 169 int rtnCode = EVAL_PAGE; 170 171 if( CMD_ENTRY.equals( command ) && errMessage != null && ! errMessage.isOK() ) { 172 // 3.5.5.2 (2004/04/02) TaglibUtil.makeHTMLErrorTable メソãƒ?ƒ‰ã‚’利用 173 if( !errRemove ) { 174 rtnCode = SKIP_PAGE ; 175 jspPrint( TaglibUtil.makeHTMLErrorTable( errMessage,getResource() ) ); 176 } 177 } 178 179 return( rtnCode ); 180 } 181 182 /** 183 * タグリブオブジェクトをリリースã—ã¾ã™ã? 184 * ã‚ャãƒ?‚·ãƒ¥ã•れã¦å†åˆ©ç”¨ã•れるã?ã§ã€ãƒ•ィールドã?åˆæœŸè¨å®šã‚’行ã„ã¾ã™ã? 185 * 186 * @og.rev 4.0.0.0 (2007/10/10) dbid ã®åˆæœŸå€¤ã‚’ã?"DEFAULT" ã‹ã‚‰ null ã«å¤‰æ›´ 187 */ 188 @Override 189 protected void release2() { 190 super.release2(); 191 tableId = HybsSystem.TBL_MDL_KEY; 192 // dbid = "DEFAULT"; 193 dbid = null; 194 command = CMD_ENTRY; 195 table = null; 196 sql = null; 197 names = null; 198 errMessage = null; 199 exist = "auto"; 200 errRemove = false; 201 } 202 203 /** 204 * SQLæ–?‚’構築ã—ã¾ã™ã? 205 * 206 * @return 構築ã•れãŸã€SQLæ–? 207 */ 208 private String makeSQLString() { 209 StringBuilder rtn = new StringBuilder( HybsSystem.BUFFER_MIDDLE ); 210 rtn.append( "select count(*) from " ); 211 rtn.append( from ); 212 rtn.append( " where " ); 213 rtn.append( where ); 214 215 return rtn.toString(); 216 } 217 218 /** 219 * Query を実行ã—ã¾ã™ã? 220 * 221 * @param sql 検索æ–?—å? 222 * 223 * @og.rev 3.8.6.0 (2006/09/29) exist 属æ?ã® one ã‚??¢one:ã²ã¨ã¤ã®ã¿?£ã‹ã‚‰?¢one:ã²ã¨ã¤ä»¥ä¸‹ï½£ã«å¤‰æ›´ 224 * @og.rev 3.8.7.0 (2006/12/15) アクセスãƒã‚°å–å¾—ã?為,ApplicationInfoオブジェクトをè¨å®? 225 * @og.rev 4.0.0.0 (2005/01/31) getParameterRows() を使用ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ 226 * @og.rev 4.0.0.0 (2007/11/28) è«–ç†å‡¦ç??ä¸å?åˆä¿®æ£(ã‚«ãƒ?‚³ã®ä»˜ã‘ã‚‹ä½ç½®é–“é•ã? 227 */ 228 private void execute( final String sql ) { 229 errMessage = new ErrorMessage( "Database Exist Data Error!" ); 230 231 final String query ; 232 final int[] clmNo ; 233 234 int[] rowNo = getParameterRows(); // 4.0.0 (2005/01/31) 235 if( rowNo.length == 0 ) { return; } 236 237 // names ãªã—ã?å ´åˆã?ã€Query よりå–å¾—ã™ã‚‹ã? 4.0.0 (2005/01/31) 238 if( names == null ) { 239 // QueryForm form = new QueryForm( sql,table ); 240 // clmNo = form.getColumnNos(); 241 // query = form.getStatement(); 242 // names = StringUtil.array2csv( form.getColumnNames() ); 243 244 Formatter format = new Formatter( table ); 245 format.setFormat( sql ); 246 query = format.getQueryFormatString(); 247 clmNo = format.getClmNos(); 248 names = StringUtil.array2csv( table.getNames() ); 249 } 250 else { 251 clmNo = getTableColumnNo( StringUtil.csv2Array( names ) ); 252 query = sql; 253 } 254 255 int row; 256 boolean okFlag ; 257 List<Integer> list = new ArrayList<Integer>(); 258 String[] values ; 259 for( int j=0; j<rowNo.length; j++ ) { 260 okFlag = true; 261 row = rowNo[j]; 262 values = getTableModelData( clmNo,row ); 263 int cnt = DBUtil.dbExist( query,values,getApplicationInfo(),dbid ); 264 265 String modifyType = table.getModifyType( row ); 266 if( ( exist.equalsIgnoreCase( "true" ) || 267 ( exist.equalsIgnoreCase( "auto" ) && ( 268 DBTableModel.UPDATE_TYPE.equals( modifyType ) || 269 DBTableModel.DELETE_TYPE.equals( modifyType ) ) ) ) && cnt <= 0 ) { 270 // ERR0025=ãƒ??タ未登録エラー。ã‚ー={0}ã€å?={1} ã®ãƒ??ã‚¿ã¯ã€å˜åœ¨ã—ã¦ã?¾ã›ã‚“ã€? 271 String vals = StringUtil.array2csv( values ); 272 errMessage.addMessage( row,ErrorMessage.NG,"ERR0025",names,vals ); 273 okFlag = false; 274 } 275 // 4.0.0.0 (2007/11/28) è«–ç†å‡¦ç??ä¸å?åˆä¿®æ£(ã‚«ãƒ?‚³ã®ä»˜ã‘ã‚‹ä½ç½®é–“é•ã? 276 else if( ( exist.equalsIgnoreCase( "false" ) || 277 ( exist.equalsIgnoreCase( "auto" ) && 278 DBTableModel.INSERT_TYPE.equals( modifyType ) ) ) && cnt > 0 ) { 279 // ERR0026=ãƒ??タ登録済ã¿ã‚¨ãƒ©ãƒ¼ã€‚ã‚ー={0}ã€å?={1} ã®ãƒ??ã‚¿ã¯ã€ã™ã§ã«å˜åœ¨ã—ã¦ã?¾ã™ã? 280 String vals = StringUtil.array2csv( values ); 281 errMessage.addMessage( row,ErrorMessage.NG,"ERR0026",names,vals ); 282 okFlag = false; 283 } 284 else if( exist.equalsIgnoreCase( "one" ) && cnt > 1 ) { 285 // ERR0027=ãƒ??ã‚¿?’é‡ç™»éŒ²ã‚¨ãƒ©ãƒ¼ã€‚ã‚ー={0}ã€å?={1} ã®ãƒ??ã‚¿ã¯ã€?‡è¤?—ã¦å˜åœ¨ã—ã¦ã?¾ã™ã? 286 String vals = StringUtil.array2csv( values ); 287 errMessage.addMessage( row,ErrorMessage.NG,"ERR0027",names,vals ); 288 okFlag = false; 289 } 290 if( errRemove && okFlag ) { list.add( row ); } 291 } 292 if( errRemove ) { 293 Integer[] in = list.toArray( new Integer[list.size()] ); 294 int[] newRowNo = new int[in.length]; 295 for( int i=0; i<in.length; i++ ) { 296 newRowNo[i] = in[i].intValue(); 297 } 298 setParameterRows( newRowNo ); 299 } 300 } 301 302 /** 303 * ã€å»?¢ã€?通常ã¯ä½¿ã?¾ã›ã‚“)çµæžœã‚’DBTableModelã«æ›¸ã込んã§ã€sessionã«ç™»éŒ²ã™ã‚‹ã¨ãã?ã‚ーを指定ã—ã¾ã™ã? 304 * 305 * @og.tag 306 * åˆæœŸå€¤ã¯ã€HybsSystem.TBL_MDL_KEY ã§ã™ã? 307 * 308 * @param id sessionã«ç™»éŒ²ã™ã‚‹æ™‚ã? ID 309 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 310 */ 311 @Deprecated public void setTableId( final String id ) { 312 tableId = nval( getRequestParameter( id ),tableId ); // 3.8.0.9 (2005/10/17) 313 } 314 315 /** 316 * ã€å»?¢ã€?通常ã¯ä½¿ã?¾ã›ã‚“)Queryオブジェクトを作æ?ã™ã‚‹æ™‚ã?DB接続IDを指定ã—ã¾ã™ã? 317 * 318 * @og.tag Queryオブジェクトを作æ?ã™ã‚‹æ™‚ã?DB接続IDを指定ã—ã¾ã™ã? 319 * 320 * @param id ãƒ??タベã?ス接続ID 321 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 322 */ 323 @Deprecated public void setDbid( final String id ) { 324 dbid = nval( getRequestParameter( id ),dbid ); 325 } 326 327 /** 328 * ã€å»?¢ã€‘コマンãƒ?ENTRY)ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã? 329 * 330 * @og.tag 331 * コマンドã?,HTMLã‹ã‚‰(get/post)æŒ?®šã•れã¾ã™ã?ã§,CMD_xxx ã§è¨å®šã•れる 332 * フィールド定数値ã®ã?¥ã‚Œã‹ã‚’ã?æŒ?®šã§ãã¾ã™ã? 333 * 334 * @param cmd コマンãƒ?public static final 宣è¨?•れã¦ã?‚‹æ–?—å?) 335 * @see <a href="{@docRoot}/constant-values.html#org.opengion.hayabusa.taglib.TableExistTag.CMD_NEW">コマンド定数</a> 336 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 337 */ 338 @Deprecated public void setCommand( final String cmd ) { 339 String cmd2 = getRequestParameter( cmd ); 340 if( cmd2 != null && cmd2.length() > 0 ) { command = cmd2.toUpperCase(Locale.JAPAN); } 341 } 342 343 /** 344 * ã€å»?¢ã€‘引数ã«ã‚»ãƒ?ƒˆã™ã¹ã?ãƒ??ã‚¿ã®åç§°(カラãƒ?)ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã? 345 * 346 * @og.tag 347 * è¤?•°ã‚ã‚‹å ´åˆã?ã€ã‚«ãƒ³ãƒžåŒºåˆ?‚Šæ–?—ã§æ¸¡ã—ã¾ã™ã? 348 * 引数をnames ã§ã¯ãªãã?[カラãƒ?]å½¢å¼ã§ç›´æŽ¥æŒ?®šã™ã‚‹ã»ã?Œã€SQLæ–?Œåˆ¤ã‚Šã‚„ã™ããªã‚Šã¾ã™ã? 349 * 350 * @param nm 引数ã®åç§°(è¤?•°ã‚ã‚‹å ´åˆã?ã€ã‚«ãƒ³ãƒžåŒºåˆ?‚Šæ–?? 351 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 352 */ 353 @Deprecated public void setNames( final String nm ) { 354 names = nval( getRequestParameter( nm ),names ); 355 } 356 357 /** 358 * ã€å»?¢ã€‘ãƒã‚§ãƒ?‚¯ã™ã‚‹ãƒ??タベã?スå?from å¥)を指定ã—ã¾ã™ã? 359 * 360 * @og.tag 361 * from å¥ ã«æŒ?®šã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ã?スåã§ã™ã? 362 * 363 * @param fm ãƒ??タベã?スID 364 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 365 */ 366 @Deprecated public void setFrom( final String fm ) { 367 from = nval( getRequestParameter( fm ),from ); 368 } 369 370 /** 371 * ã€å»?¢ã€‘ãƒã‚§ãƒ?‚¯ã™ã‚‹æ¤œç´¢æ¡ä»¶(whereå¥)を指定ã—ã¾ã™ã? 372 * 373 * @og.tag 374 * where 区 ã«æŒ?®šã™ã‚‹æ¤œç´¢æ¡ä»¶ã§ã™ã?? ã®éƒ¨åˆ?«ã€names 属æ?ã§æŒ?®šã—ã? 375 * カラãƒ??ãƒ??ã‚¿ãŒã?DBTableModelよりå–り出ã•れã¦é©ç”¨ã•れã¾ã™ã? 376 * ã¾ãŸã?ã€[カラãƒ?]å½¢å¼ã§ã€ç›´æŽ¥æŒ?®šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã?ãã?å ´åˆã?ã€? 377 * name 属æ?ã¯æŒ?®šã™ã‚‹å¿?¦ãŒã‚りã¾ã›ã‚“ã€? 378 * [カラãƒ?]ã®å‰å¾Œã«ã€?')シングルコーãƒ??ションã¯ã€ä¸è¦ã§ã™ã? 379 * 380 * @param wr 検索æ¡ä»¶(whereå¥) 381 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 382 */ 383 @Deprecated public void setWhere( final String wr ) { 384 where = nval( getRequestParameter( wr ),where ); 385 } 386 387 /** 388 * ã€å»?¢ã€‘データベã?スã®ãƒã‚§ãƒ?‚¯æ–¹æ³?auto/true/false/one/notuse)を指定ã—ã¾ã?åˆæœŸå€¤:?¢auto:自動」)ã€? 389 * 390 * @og.tag 391 * exist 属æ?ã«æŒ?®šã•れ㟠ã€?½¢true:å˜åœ¨ã™ã‚‹?£ã€?½¢false:å˜åœ¨ã—ãªã?½£ã€?½¢one:ã²ã¨ã¤ä»¥ä¸‹ï½£ã€? 392 * ã®å€¤ã¯ã€ã„ãšã‚Œã®å ´åˆã‚‚ã€æ?立時ã¯ã€æ£å¸¸ã¨ã¿ãªã—ã¾ã™ã? 393 * ?¢auto:自動」ã¯ã€DBTableModeleã®modifyType(A,C,D)ã«å¿œã˜ã¦ã€ãƒã‚§ãƒ?‚¯ã—ã¾ã™ã? 394 * A,C,D ã¯ã€entryã‚¿ã‚°ã«ã‚³ãƒžãƒ³ãƒ‰ã‚’渡ã—ã¦ãƒ??タを作æ?ã—ãŸã¨ãã«ã€å?部ã§ä½œæ?ã•れã¾ã™ã? 395 * notuse ã¯ã€ãƒã‚§ãƒ?‚¯ã‚’行ã„ã¾ã›ã‚“。ã“れã?ã€ã“ã®ã‚¿ã‚°ã‚’å?有使用ã™ã‚‹å ´åˆã«ã€å¤–部㧠396 * ãƒã‚§ãƒ?‚¯ã‚’行ã†ã‹ã©ã?‹ã‚’指定ã§ãるよã†ã«ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã—ã¾ã™ã? 397 * (?¢true:å˜åœ¨ã™ã‚‹?£ ã«ã¯ã€ãƒ‡ãƒ¼ã‚¿ãŒå˜åœ¨ã—ãŸå ´åˆã«ã€?¼¯?«ã§ã€ãªã‘れã°ã‚¨ãƒ©ãƒ¼ã§ã™ã?) 398 * åˆæœŸå€¤ã¯ã€?½¢auto:自動」ã§ã™ã? 399 * 400 * @param ext ãƒã‚§ãƒ?‚¯æ–¹æ³??¢auto:自動」ã€?½¢true:å˜åœ¨ã™ã‚‹?£ã€?½¢false:å˜åœ¨ã—ãªã?½£ã€?½¢one:ã²ã¨ã¤ä»¥ä¸‹ï½£ã€?½¢notuse:ãƒã‚§ãƒ?‚¯ã—ãªã?½£) 401 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 402 */ 403 @Deprecated public void setExist( final String ext ) { 404 exist = nval( getRequestParameter( ext ),exist ); 405 if( !"auto".equalsIgnoreCase( exist ) && 406 !"true".equalsIgnoreCase( exist ) && 407 !"false".equalsIgnoreCase( exist ) && 408 !"one".equalsIgnoreCase( exist ) && 409 !"notuse".equalsIgnoreCase( exist ) ) { 410 String errMsg = "exist 属æ?ã¯ã€?auto,true,false,one,notuse)を指定ã—ã¦ãã ã•ã„ã€?[" + exist + "]" + HybsSystem.CR ; 411 throw new HybsSystemException( errMsg ); 412 } 413 } 414 415 /** 416 * ã€å»?¢ã€‘エラー時ã?é¸æŠžè¡Œã‚’å–り除ã?¦ç¶™ç¶šå?ç?‚’行ã†ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false)ã€? 417 * 418 * @og.tag 419 * exist 属æ?ã«æŒ?®šã•れ㟠ã€?½¢true:å˜åœ¨ã™ã‚‹?£ã€?½¢false:å˜åœ¨ã—ãªã?½£ã€?½¢one:ã²ã¨ã¤ä»¥ä¸‹ï½£ã€? 420 * ã«å¯¾ã—ã¦ã€ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸé¸æŠžè¡Œç•ªå·ã‚’ã?å–り除ã?¦ä»¥ä¸‹ã?処ç?‚’継続ã™ã‚‹ã‹ã©ã?‹ã‚? 421 * æŒ?®šã—ã¾ã™ã? 422 * true ã«è¨å®šã—ãŸå?åˆã?ã€ã‚¨ãƒ©ãƒ¼ãƒ??タを削除ã—ã?継続å?ç?‚’行ã†ã“ã¨ãŒã§ãã¾ã™ã? 423 * flase ã®å ´åˆã?ã€ã‚¨ãƒ©ãƒ¼ãƒ??タを表示ã—ã¦ã€ç¶™ç¶šå?ç?‚’åœæ¢ã—ã¾ã™ã? 424 * åˆæœŸå€¤ã¯ã€?½¢false:ã‚¨ãƒ©ãƒ¼æ™‚åœæ¢?£ã§ã™ã? 425 * 426 * @param flag エラー時ã?継続å?ç?[true:エラー行番å·ã‚’å–り除ã継続å?ç?false:ã‚¨ãƒ©ãƒ¼æ™‚åœæ¢] 427 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 428 */ 429 @Deprecated public void setErrRemove( final String flag ) { 430 errRemove = nval( getRequestParameter( flag ),errRemove ); 431 } 432 433 /** 434 * カラãƒ?é…å?(String[])よりã€å¯¾å¿œã™ã‚‹ã‚«ãƒ©ãƒ?oé…å?(int[])を作æ?ã—ã¾ã™ã? 435 * 436 * @param nameArray カラãƒ?é…å? 437 * 438 * @return カラãƒ?oé…å? 439 */ 440 private int[] getTableColumnNo( final String[] nameArray ) { 441 int[] clmNo = new int[ nameArray.length ]; 442 for( int i=0; i<clmNo.length; i++ ) { 443 clmNo[i] = table.getColumnNo( nameArray[i] ); 444 } 445 return clmNo; 446 } 447 448 /** 449 * æŒ?®šã?行番å·ã®ã€ã‚«ãƒ©ãƒ?oé…å?(int[])ã«å¯¾å¿œã—ãŸå?ã®é…å?ã‚’è¿”ã—ã¾ã™ã? 450 * 451 * 表示ãƒ??ã‚¿ã® HybsSystem.ROW_SEL_KEY ã‚’å?ã«ã€?¸ã°ã‚ŒãŸ 行を 452 * 処ç??対象ã¨ã—ã¾ã™ã? 453 * 454 * @param clmNo カラãƒ?oé…å? 455 * @param row è¡Œç•ªå· 456 * 457 * @return 行番å·ã¨ã‚«ãƒ©ãƒ?oé…å?ã«å¯¾å¿œã—ãŸã?値ã®é…å? 458 */ 459 private String[] getTableModelData( final int[] clmNo,final int row ) { 460 String[] values = new String[ clmNo.length ]; 461 for( int i=0; i<values.length; i++ ) { 462 values[i] = table.getValue( row,clmNo[i] ) ; 463 } 464 return values; 465 } 466 467 /** 468 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºæ›¸ãè¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰ 469 * 470 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ? 471 * @serialData 472 * 473 * @param strm ObjectOutputStreamオブジェクãƒ? 474 */ 475 private void writeObject( final ObjectOutputStream strm ) throws IOException { 476 strm.defaultWriteObject(); 477 } 478 479 /** 480 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºèªã¿è¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰ 481 * 482 * ã“ã“ã§ã¯ã€transient 宣è¨?•れãŸå†?ƒ¨å¤‰æ•°ã®å†??åˆæœŸåŒ–ãŒå¿?¦ãªãƒ•ィールドã?ã¿è¨å®šã—ã¾ã™ã? 483 * 484 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ? 485 * @serialData 486 * 487 * @param strm ObjectInputStreamオブジェクãƒ? 488 * @see #release2() 489 */ 490 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException { 491 strm.defaultReadObject(); 492 } 493 494 /** 495 * ã“ã?オブジェクトã?æ–?—å?表ç¾ã‚’è¿”ã—ã¾ã™ã? 496 * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã? 497 * 498 * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?—å?è¡¨ç¾ 499 */ 500 @Override 501 public String toString() { 502 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() ) 503 .println( "VERSION" ,VERSION ) 504 .println( "tableId" ,tableId ) 505 .println( "dbid" ,dbid ) 506 .println( "command" ,command ) 507 .println( "sql" ,sql ) 508 .println( "names" ,names ) 509 .println( "from" ,from ) 510 .println( "where" ,where ) 511 .println( "exist" ,exist ) 512 .println( "CMD_ENTRY" ,CMD_ENTRY ) 513 .println( "Other..." ,getAttributes().getAttribute() ) 514 .fixForm().toString() ; 515 } 516 }