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 if (obj == null) {
222 _addNull();
223
224 return;
225 }
226
227 Class<?> classObj = obj.getClass();
228
229 if (classObj == Boolean.class) {
230 add(((Boolean)obj).booleanValue());
231 }
232 else if (classObj == Date.class) {
233 add(CalendarUtil.getTimestamp((Date)obj));
234 }
235 else if (classObj == Double.class) {
236 add(((Double)obj).doubleValue());
237 }
238 else if (classObj == Float.class) {
239 add(((Float)obj).floatValue());
240 }
241 else if (classObj == Integer.class) {
242 add(((Integer)obj).intValue());
243 }
244 else if (classObj == Long.class) {
245 add(((Long)obj).longValue());
246 }
247 else if (classObj == Short.class) {
248 add(((Short)obj).shortValue());
249 }
250 else if (classObj == String.class) {
251 add((String)obj);
252 }
253 else if (classObj == Timestamp.class) {
254 add((Timestamp)obj);
255 }
256 else {
257 throw new RuntimeException("Unsupport type " + classObj.getName());
258 }
259 }
260
261 public void add(short value) {
262 _query.setShort(_pos++, value);
263 }
264
265 public void add(Short value) {
266 if (value != null) {
267 _query.setShort(_pos++, value.shortValue());
268 }
269 else {
270 _addNull();
271 }
272 }
273
274 public void add(short[] values) {
275 add(values, _DEFAULT_ARRAY_COUNT);
276 }
277
278 public void add(short[] values, int count) {
279 for (int i = 0; i < values.length; i++) {
280 for (int j = 0; j < count; j++) {
281 add(values[i]);
282 }
283 }
284 }
285
286 public void add(Short[] values) {
287 add(values, _DEFAULT_ARRAY_COUNT);
288 }
289
290 public void add(Short[] values, int count) {
291 for (int i = 0; i < values.length; i++) {
292 for (int j = 0; j < count; j++) {
293 add(values[i]);
294 }
295 }
296 }
297
298 public void add(String value) {
299 _query.setString(_pos++, value);
300 }
301
302 public void add(String[] values) {
303 add(values, _DEFAULT_ARRAY_COUNT);
304 }
305
306 public void add(String[] values, int count) {
307 for (int i = 0; i < values.length; i++) {
308 for (int j = 0; j < count; j++) {
309 add(values[i]);
310 }
311 }
312 }
313
314 public void add(Timestamp value) {
315 _query.setTimestamp(_pos++, value);
316 }
317
318 public void add(Timestamp[] values) {
319 add(values, _DEFAULT_ARRAY_COUNT);
320 }
321
322 public void add(Timestamp[] values, int count) {
323 for (int i = 0; i < values.length; i++) {
324 for (int j = 0; j < count; j++) {
325 add(values[i]);
326 }
327 }
328 }
329
330 public int getPos() {
331 return _pos;
332 }
333
334 private QueryPos(Query query) {
335 _query = query;
336 }
337
338 private void _addNull() {
339 _query.setSerializable(_pos++, null);
340 }
341
342 private static final int _DEFAULT_ARRAY_COUNT = 1;
343
344 private int _pos;
345 private Query _query;
346
347 }