|
17 | 17 |
|
18 | 18 | import java.lang.reflect.Method; |
19 | 19 |
|
| 20 | +import org.seasar.doma.ArrayFactory; |
| 21 | +import org.seasar.doma.BatchDelete; |
| 22 | +import org.seasar.doma.BatchInsert; |
| 23 | +import org.seasar.doma.BatchUpdate; |
| 24 | +import org.seasar.doma.BlobFactory; |
| 25 | +import org.seasar.doma.ClobFactory; |
| 26 | +import org.seasar.doma.Delete; |
| 27 | +import org.seasar.doma.Function; |
| 28 | +import org.seasar.doma.Insert; |
| 29 | +import org.seasar.doma.NClobFactory; |
| 30 | +import org.seasar.doma.Procedure; |
| 31 | +import org.seasar.doma.SQLXMLFactory; |
| 32 | +import org.seasar.doma.Script; |
| 33 | +import org.seasar.doma.Select; |
| 34 | +import org.seasar.doma.Update; |
20 | 35 | import org.seasar.doma.jdbc.command.BatchDeleteCommand; |
21 | 36 | import org.seasar.doma.jdbc.command.BatchInsertCommand; |
22 | 37 | import org.seasar.doma.jdbc.command.BatchUpdateCommand; |
|
50 | 65 | */ |
51 | 66 | public interface CommandImplementors { |
52 | 67 |
|
| 68 | + /** |
| 69 | + * {@link Select} に対応したコマンドを作成します。 |
| 70 | + * |
| 71 | + * @param method |
| 72 | + * Dao メソッド |
| 73 | + * @param query |
| 74 | + * クエリ |
| 75 | + * @param resultSetHandler |
| 76 | + * 結果セットのハンドラ |
| 77 | + * @return コマンド |
| 78 | + */ |
53 | 79 | default <RESULT> SelectCommand<RESULT> createSelectCommand(Method method, |
54 | 80 | SelectQuery query, ResultSetHandler<RESULT> resultSetHandler) { |
55 | 81 | return new SelectCommand<>(query, resultSetHandler); |
56 | 82 | } |
57 | 83 |
|
| 84 | + /** |
| 85 | + * {@link Delete} に対応したコマンドを作成します。 |
| 86 | + * |
| 87 | + * @param method |
| 88 | + * Dao メソッド |
| 89 | + * @param query |
| 90 | + * クエリ |
| 91 | + * @return コマンド |
| 92 | + */ |
58 | 93 | default DeleteCommand createDeleteCommand(Method method, DeleteQuery query) { |
59 | 94 | return new DeleteCommand(query); |
60 | 95 | } |
61 | 96 |
|
| 97 | + /** |
| 98 | + * {@link Insert} に対応したコマンドを作成します。 |
| 99 | + * |
| 100 | + * @param method |
| 101 | + * Dao メソッド |
| 102 | + * @param query |
| 103 | + * クエリ |
| 104 | + * @return コマンド |
| 105 | + */ |
62 | 106 | default InsertCommand createInsertCommand(Method method, InsertQuery query) { |
63 | 107 | return new InsertCommand(query); |
64 | 108 | } |
65 | 109 |
|
| 110 | + /** |
| 111 | + * {@link Update} に対応したコマンドを作成します。 |
| 112 | + * |
| 113 | + * @param method |
| 114 | + * Dao メソッド |
| 115 | + * @param query |
| 116 | + * クエリ |
| 117 | + * @return コマンド |
| 118 | + */ |
66 | 119 | default UpdateCommand createUpdateCommand(Method method, UpdateQuery query) { |
67 | 120 | return new UpdateCommand(query); |
68 | 121 | } |
69 | 122 |
|
| 123 | + /** |
| 124 | + * {@link BatchDelete} に対応したコマンドを作成します。 |
| 125 | + * |
| 126 | + * @param method |
| 127 | + * Dao メソッド |
| 128 | + * @param query |
| 129 | + * クエリ |
| 130 | + * @return コマンド |
| 131 | + */ |
70 | 132 | default BatchDeleteCommand createBatchDeleteCommand(Method method, |
71 | 133 | BatchDeleteQuery query) { |
72 | 134 | return new BatchDeleteCommand(query); |
73 | 135 | } |
74 | 136 |
|
| 137 | + /** |
| 138 | + * {@link BatchInsert} に対応したコマンドを作成します。 |
| 139 | + * |
| 140 | + * @param method |
| 141 | + * Dao メソッド |
| 142 | + * @param query |
| 143 | + * クエリ |
| 144 | + * @return コマンド |
| 145 | + */ |
75 | 146 | default BatchInsertCommand createBatchInsertCommand(Method method, |
76 | 147 | BatchInsertQuery query) { |
77 | 148 | return new BatchInsertCommand(query); |
78 | 149 | } |
79 | 150 |
|
| 151 | + /** |
| 152 | + * {@link BatchUpdate} に対応したコマンドを作成します。 |
| 153 | + * |
| 154 | + * @param method |
| 155 | + * Dao メソッド |
| 156 | + * @param query |
| 157 | + * クエリ |
| 158 | + * @return コマンド |
| 159 | + */ |
80 | 160 | default BatchUpdateCommand createBatchUpdateCommand(Method method, |
81 | 161 | BatchUpdateQuery query) { |
82 | 162 | return new BatchUpdateCommand(query); |
83 | 163 | } |
84 | 164 |
|
| 165 | + /** |
| 166 | + * {@link Function} に対応したコマンドを作成します。 |
| 167 | + * |
| 168 | + * @param method |
| 169 | + * Dao メソッド |
| 170 | + * @param query |
| 171 | + * クエリ |
| 172 | + * @return コマンド |
| 173 | + */ |
85 | 174 | default <RESULT> FunctionCommand<RESULT> createFunctionCommand( |
86 | 175 | Method method, FunctionQuery<RESULT> query) { |
87 | 176 | return new FunctionCommand<>(query); |
88 | 177 | } |
89 | 178 |
|
| 179 | + /** |
| 180 | + * {@link Procedure} に対応したコマンドを作成します。 |
| 181 | + * |
| 182 | + * @param method |
| 183 | + * Dao メソッド |
| 184 | + * @param query |
| 185 | + * クエリ |
| 186 | + * @return コマンド |
| 187 | + */ |
90 | 188 | default ProcedureCommand createProcedureCommand(Method method, |
91 | 189 | ProcedureQuery query) { |
92 | 190 | return new ProcedureCommand(query); |
93 | 191 | } |
94 | 192 |
|
| 193 | + /** |
| 194 | + * {@link ArrayFactory}、{@link BlobFactory}、{@link ClobFactory}、 |
| 195 | + * {@link NClobFactory}、{@link SQLXMLFactory} に対応したコマンドを作成します。 |
| 196 | + * |
| 197 | + * @param method |
| 198 | + * Dao メソッド |
| 199 | + * @param query |
| 200 | + * クエリ |
| 201 | + * @return コマンド |
| 202 | + */ |
95 | 203 | default <RESULT> CreateCommand<RESULT> createCreateCommand(Method method, |
96 | 204 | CreateQuery<RESULT> query) { |
97 | 205 | return new CreateCommand<>(query); |
98 | 206 | } |
99 | 207 |
|
| 208 | + /** |
| 209 | + * {@link Script} に対応したコマンドを作成します。 |
| 210 | + * |
| 211 | + * @param method |
| 212 | + * Dao メソッド |
| 213 | + * @param query |
| 214 | + * クエリ |
| 215 | + * @return コマンド |
| 216 | + */ |
100 | 217 | default ScriptCommand createScriptCommand(Method method, ScriptQuery query) { |
101 | 218 | return new ScriptCommand(query); |
102 | 219 | } |
|
0 commit comments