1
14
15 package com.liferay.portal.kernel.dao.orm;
16
17 import com.liferay.portal.kernel.util.CalendarUtil;
18
19 import java.sql.Timestamp;
20
21 import java.util.Date;
22
23
29 public class QueryPos {
30
31 public static QueryPos getInstance(Query query) {
32 return new QueryPos(query);
33 }
34
35 public void add(boolean value) {
36 _query.setBoolean(_pos++, value);
37 }
38
39 public void add(Boolean value) {
40 if (value != null) {
41 _query.setBoolean(_pos++, value.booleanValue());
42 }
43 else {
44 _addNull();
45 }
46 }
47
48 public void add(boolean[] values) {
49 add(values, _DEFAULT_ARRAY_COUNT);
50 }
51
52 public void add(boolean[] values, int count) {
53 for (int i = 0; i < values.length; i++) {
54 for (int j = 0; j < count; j++) {
55 add(values[i]);
56 }
57 }
58 }
59
60 public void add(Boolean[] values) {
61 add(values, _DEFAULT_ARRAY_COUNT);
62 }
63
64 public void add(Boolean[] values, int count) {
65 for (int i = 0; i < values.length; i++) {
66 for (int j = 0; j < count; j++) {
67 add(values[i]);
68 }
69 }
70 }
71
72 public void add(double value) {
73 _query.setDouble(_pos++, value);
74 }
75
76 public void add(Double value) {
77 if (value != null) {
78 _query.setDouble(_pos++, value.doubleValue());
79 }
80 else {
81 _addNull();
82 }
83 }
84
85 public void add(double[] values) {
86 add(values, _DEFAULT_ARRAY_COUNT);
87 }
88
89 public void add(double[] values, int count) {
90 for (int i = 0; i < values.length; i++) {
91 for (int j = 0; j < count; j++) {
92 add(values[i]);
93 }
94 }
95 }
96
97 public void add(Double[] values) {
98 add(values, _DEFAULT_ARRAY_COUNT);
99 }
100
101 public void add(Double[] values, int count) {
102 for (int i = 0; i < values.length; i++) {
103 for (int j = 0; j < count; j++) {
104 add(values[i]);
105 }
106 }
107 }
108
109 public void add(float value) {
110 _query.setFloat(_pos++, value);
111 }
112
113 public void add(Float value) {
114 if (value != null) {
115 _query.setFloat(_pos++, value.intValue());
116 }
117 else {
118 _addNull();
119 }
120 }
121
122 public void add(float[] values) {
123 add(values, _DEFAULT_ARRAY_COUNT);
124 }
125
126 public void add(float[] values, int count) {
127 for (int i = 0; i < values.length; i++) {
128 for (int j = 0; j < count; j++) {
129 add(values[i]);
130 }
131 }
132 }
133
134 public void add(Float[] values) {
135 add(values, _DEFAULT_ARRAY_COUNT);
136 }
137
138 public void add(Float[] values, int count) {
139 for (int i = 0; i < values.length; i++) {
140 for (int j = 0; j < count; j++) {
141 add(values[i]);
142 }
143 }
144 }
145
146 public void add(int value) {
147 _query.setInteger(_pos++, value);
148 }
149
150 public void add(int[] values) {
151 add(values, _DEFAULT_ARRAY_COUNT);
152 }
153
154 public void add(int[] values, int count) {
155 for (int i = 0; i < values.length; i++) {
156 for (int j = 0; j < count; j++) {
157 add(values[i]);
158 }
159 }
160 }
161
162 public void add(Integer value) {
163 if (value != null) {
164 _query.setInteger(_pos++, value.intValue());
165 }
166 else {
167 _addNull();
168 }
169 }
170
171 public void add(Integer[] values) {
172 add(values, _DEFAULT_ARRAY_COUNT);
173 }
174
175 public void add(Integer[] values, int count) {
176 for (int i = 0; i < values.length; i++) {
177 for (int j = 0; j < count; j++) {
178 add(values[i]);
179 }
180 }
181 }
182
183 public void add(long value) {
184 _query.setLong(_pos++, value);
185 }
186
187 public void add(Long value) {
188 if (value != null) {
189 _query.setLong(_pos++, value.longValue());
190 }
191 else {
192 _addNull();
193 }
194 }
195
196 public void add(long[] values) {
197 add(values, _DEFAULT_ARRAY_COUNT);
198 }
199
200 public void add(long[] values, int count) {
201 for (int i = 0; i < values.length; i++) {
202 for (int j = 0; j < count; j++) {
203 add(values[i]);
204 }
205 }
206 }
207
208 public void add(Long[] values) {
209 add(values, _DEFAULT_ARRAY_COUNT);
210 }
211
212 public void add(Long[] values, int count) {
213 for (int i = 0; i < values.length; i++) {
214 for (int j = 0; j < count; j++) {
215 add(values[i]);
216 }
217 }
218 }
219
220 public void add(Object obj) {
221 Class<?> classObj = obj.getClass();
222
223 if (obj == null) {
224 _addNull();
225 }
226 else if (classObj == Boolean.class) {
227 add(((Boolean)obj).booleanValue());
228 }
229 else if (classObj == Date.class) {
230 add(CalendarUtil.getTimestamp((Date)obj));
231 }
232 else if (classObj == Double.class) {
233 add(((Double)obj).doubleValue());
234 }
235 else if (classObj == Float.class) {
236 add(((Float)obj).floatValue());
237 }
238 else if (classObj == Integer.class) {
239 add(((Integer)obj).intValue());
240 }
241 else if (classObj == Long.class) {
242 add(((Long)obj).longValue());
243 }
244 else if (classObj == Short.class) {
245 add(((Short)obj).shortValue());
246 }
247 else if (classObj == String.class) {
248 add((String)obj);
249 }
250 else if (classObj == Timestamp.class) {
251 add((Timestamp)obj);
252 }
253 else {
254 throw new RuntimeException("Unsupport type " + classObj.getName());
255 }
256 }
257
258 public void add(short value) {
259 _query.setShort(_pos++, value);
260 }
261
262 public void add(Short value) {
263 if (value != null) {
264 _query.setShort(_pos++, value.shortValue());
265 }
266 else {
267 _addNull();
268 }
269 }
270
271 public void add(short[] values) {
272 add(values, _DEFAULT_ARRAY_COUNT);
273 }
274
275 public void add(short[] values, int count) {
276 for (int i = 0; i < values.length; i++) {
277 for (int j = 0; j < count; j++) {
278 add(values[i]);
279 }
280 }
281 }
282
283 public void add(Short[] values) {
284 add(values, _DEFAULT_ARRAY_COUNT);
285 }
286
287 public void add(Short[] values, int count) {
288 for (int i = 0; i < values.length; i++) {
289 for (int j = 0; j < count; j++) {
290 add(values[i]);
291 }
292 }
293 }
294
295 public void add(String value) {
296 _query.setString(_pos++, value);
297 }
298
299 public void add(String[] values) {
300 add(values, _DEFAULT_ARRAY_COUNT);
301 }
302
303 public void add(String[] values, int count) {
304 for (int i = 0; i < values.length; i++) {
305 for (int j = 0; j < count; j++) {
306 add(values[i]);
307 }
308 }
309 }
310
311 public void add(Timestamp value) {
312 _query.setTimestamp(_pos++, value);
313 }
314
315 public void add(Timestamp[] values) {
316 add(values, _DEFAULT_ARRAY_COUNT);
317 }
318
319 public void add(Timestamp[] values, int count) {
320 for (int i = 0; i < values.length; i++) {
321 for (int j = 0; j < count; j++) {
322 add(values[i]);
323 }
324 }
325 }
326
327 public int getPos() {
328 return _pos;
329 }
330
331 private QueryPos(Query query) {
332 _query = query;
333 }
334
335 private void _addNull() {
336 _query.setSerializable(_pos++, null);
337 }
338
339 private static final int _DEFAULT_ARRAY_COUNT = 1;
340
341 private int _pos;
342 private Query _query;
343
344 }