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 }