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.db; 017 018 import java.util.Map; 019 020 import org.opengion.fukurou.util.ErrorMessage; 021 import org.opengion.fukurou.db.Transaction; 022 import org.opengion.hayabusa.common.HybsSystem; 023 import org.opengion.hayabusa.resource.ResourceManager; 024 025 /** 026 * TableFilter は、TableFilterTag で使用され?DBTableModelの処?のインターフェースです? 027 * 適?実?サブクラス)?TableFilterTag に与えることで?DBTableModelの処?適? 028 * ?替えることが?来ます? 029 * 030 * @og.rev 3.8.5.0 (2006/03/20) 新規作? 031 * @og.rev 5.5.2.6 (2012/05/25) インターフェースにgetterメソ?追? 032 * 033 * @version 0.9.0 2000/10/17 034 * @author Kazuhiko Hasegawa 035 * @since JDK1.1, 036 */ 037 public interface TableFilter { 038 /** CR 定義 */ 039 public static final String CR = HybsSystem.CR ; // 5.1.1.0 (2009/12/01) CR 定義をここで行う? 040 041 /** 042 * DBTableModelの処?実行します? 043 * 処??体?, ?ブクラスの実?依存します? 044 * 045 * @return DBTableModelオブジェク? 046 */ 047 DBTableModel execute() ; 048 049 /** 050 * DBTableModel をセ?します? 051 * 052 * @param table DBTableModelオブジェク? 053 */ 054 void setDBTableModel( DBTableModel table ) ; 055 056 /** 057 * DBTableModel を取得します? 058 * 059 * @og.rev 5.5.2.6 (2012/05/25) インターフェースにgetterメソ?追? 060 * 061 * @return ?のDBTableModel 062 */ 063 DBTableModel getDBTableModel() ; 064 065 /** 066 * ??タ処??方?A:追?C:更新 D:削除)を指定します? 067 * 068 * 通常は、DBTableModel に自動設定されて? modifyType を?に、データ処?法を 069 * 選別します?(A:追?C:更新 D:削除) 070 * こ?場合?行単位で modifyType の値を取得して判別する?がありますが、?には 071 * 処?象は、?件おな?modifyType である可能性が高いです? 072 * また?selectedAll などで強制?全件処?象とする場合?、modifyType に値? 073 * 設定さて?せん。その様な場合に外部より modifyType を指定します? 074 * 初期値は、?動判?です? 075 * 076 * @param type ??タ処??方?A:追?C:更新 D:削除) 077 */ 078 void setModifyType( String type ) ; 079 080 /** 081 * ??タ処??方?A:追?C:更新 D:削除)を取得します? 082 * 083 * 初期値は、?動判?です? 084 * 085 * @og.rev 5.5.2.6 (2012/05/25) インターフェースにgetterメソ?追? 086 * 087 * @return ??タ処??方?A:追?C:更新 D:削除) 088 */ 089 String getModifyType() ; 090 091 /** 092 * キーと値のペアの変数配?を受け取ります? 093 * 094 * ここでは、この方式以外に、パラメーターMapを受け取る方法もあります? 095 * 096 * keys,vals とパラメーターMapを同時に?した?合?、両方とも有効です? 097 * ただし?キーが重?た?合?、不定と?てください? 098 * 099 * @param keys キー配? 100 * @param vals 値配? 101 */ 102 void setKeysVals( String[] keys,String[] vals ) ; 103 104 /** 105 * 選択された行番号の配?をセ?します? 106 * 107 * 表示??タの HybsSystem.ROW_SEL_KEY を?に?ばれた 行を 108 * 処??対象とします? 109 * 110 * @param rowNo 行番号の配? 111 */ 112 void setParameterRows( int[] rowNo ) ; 113 114 /** 115 * 選択された行番号の配?を取得します? 116 * 117 * 表示??タの HybsSystem.ROW_SEL_KEY を?に?ばれた 行を 118 * 処??対象とします? 119 * 120 * @og.rev 5.5.2.6 (2012/05/25) インターフェースにgetterメソ?追? 121 * 122 * @return 行番号の配? 123 */ 124 int[] getParameterRows() ; 125 126 /** 127 * アクセスログ取得?為,ApplicationInfoオブジェクトを設定します? 128 * 129 * @og.rev 3.8.7.0 (2006/12/15) 新規追? 130 * @og.rev 5.1.9.0 (2010/08/01) Transaction 対?のため、? 131 * 132 * @param appInfo ApplicationInfo 133 */ 134 // void setApplicationInfo( ApplicationInfo appInfo ) ; 135 136 /** 137 * アクセスログ取得?為,Transactionオブジェクトを設定します? 138 * 139 * @og.rev 5.1.9.0 (2010/08/01) Transaction 対?新規追? 140 * 141 * @param tran Transactionオブジェク? 142 */ 143 void setTransaction( Transaction tran ) ; 144 145 /** 146 * アクセスログ取得?為,Transactionオブジェクトを取得します? 147 * 148 * @og.rev 5.1.9.0 (2010/08/01) Transaction 対?新規追? 149 * @og.rev 5.5.2.6 (2012/05/25) インターフェースにgetterメソ?追? 150 * 151 * @return Transactionオブジェク? 152 */ 153 Transaction getTransaction() ; 154 155 /** 156 * DBIDを指定します? 157 * 158 * @og.rev 4.2.4.0 (2008/06/23) 新規追? 159 * 160 * @param dbid 接続?ID 161 */ 162 void setDbid( String dbid ) ; 163 164 /** 165 * DBIDを取得します? 166 * 167 * @og.rev 4.2.4.0 (2008/06/23) 新規追? 168 * @og.rev 5.5.2.6 (2012/05/25) インターフェースにgetterメソ?追? 169 * 170 * @return DBID(接続?ID) 171 */ 172 String getDbid() ; 173 174 /** 175 * ボディー部??SQLを指定します? 176 * 177 * @og.rev 4.2.4.0 (2008/06/23) 新規追? 178 * 179 * @param sql ボディー部??SQL 180 */ 181 void setSql( String sql ) ; 182 183 /** 184 * ボディー部??SQLを取得します? 185 * 186 * @og.rev 4.2.4.0 (2008/06/23) 新規追? 187 * @og.rev 5.5.2.6 (2012/05/25) インターフェースにgetterメソ?追? 188 * 189 * @return ボディー部??SQL 190 */ 191 String getSql() ; 192 193 /** 194 * パラメーターMapを指定します? 195 * 196 * keys,vals と パラメーターMapを同時に?した?合?、両方とも有効です? 197 * ただし?キーが重?た?合?、不定と?てください? 198 * 199 * @og.rev 5.6.5.2 (2013/06/21) 新規追? 200 * 201 * @param paramMap パラメーターMap 202 */ 203 void setParamMap( Map<String,String> paramMap ) ; 204 205 /** 206 * リソースオブジェクトを?します? 207 * 208 * @og.rev 4.3.7.4 (2009/07/01) 新規追? 209 * 210 * @param resource リソースオブジェク? 211 */ 212 void setResource( ResourceManager resource ) ; 213 214 /** 215 * リソースオブジェクトを取得します? 216 * 217 * @og.rev 4.3.7.4 (2009/07/01) 新規追? 218 * @og.rev 5.5.2.6 (2012/05/25) インターフェースにgetterメソ?追? 219 * 220 * @return リソースオブジェク? 221 */ 222 ResourceManager getResource() ; 223 224 /** 225 * ????を表示するかど?[true/false]を指定します? 226 * true で????を表示します? 227 * 228 * @param flag 表示するかど?[true:表示する/false:表示しない] 229 */ 230 void setDebug( boolean flag ) ; 231 232 /** 233 * ????を表示するかど?[true/false]を取得します? 234 * true で????を表示します? 235 * 236 * @og.rev 5.5.2.6 (2012/05/25) インターフェースにgetterメソ?追? 237 * 238 * @return ????[true:表示する/false:表示しない] 239 */ 240 boolean isDebug() ; 241 242 /** 243 * エラーコー?を取得します? 244 * エラーコー?は、ErrorMessage クラスで規定されて?コードです? 245 * 246 * @return エラーコー? 247 */ 248 int getErrorCode() ; 249 250 /** 251 * エラーメ?ージオブジェク?を取得します? 252 * 253 * @return エラーメ?ージオブジェク? 254 */ 255 ErrorMessage getErrorMessage() ; 256 }