1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    *
5    *
6    *
7    * The contents of this file are subject to the terms of the Liferay Enterprise
8    * Subscription License ("License"). You may not use this file except in
9    * compliance with the License. You can obtain a copy of the License by
10   * contacting Liferay, Inc. See the License for the specific language governing
11   * permissions and limitations under the License, including but not limited to
12   * distribution rights of the Software.
13   *
14   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20   * SOFTWARE.
21   */
22  
23  package com.liferay.util.dao.orm.hibernate;
24  
25  import java.sql.Timestamp;
26  
27  import org.hibernate.Query;
28  
29  /**
30   * <a href="QueryPos.java.html"><b><i>View Source</i></b></a>
31   *
32   * @author     Brian Wing Shun Chan
33   * @deprecated This class has been repackaged at
34   *             <code>com.liferay.portal.kernel.dao.orm</code>.
35   */
36  public class QueryPos {
37  
38      public static QueryPos getInstance(Query query) {
39          return new QueryPos(query);
40      }
41  
42      public int getPos() {
43          return _pos;
44      }
45  
46      public void add(boolean value) {
47          _query.setBoolean(_pos++, value);
48      }
49  
50      public void add(Boolean value) {
51          if (value != null) {
52              _query.setBoolean(_pos++, value.booleanValue());
53          }
54          else {
55              addNull();
56          }
57      }
58  
59      public void add(double value) {
60          _query.setDouble(_pos++, value);
61      }
62  
63      public void add(Double value) {
64          if (value != null) {
65              _query.setDouble(_pos++, value.doubleValue());
66          }
67          else {
68              addNull();
69          }
70      }
71  
72      public void add(float value) {
73          _query.setFloat(_pos++, value);
74      }
75  
76      public void add(Float value) {
77          if (value != null) {
78              _query.setFloat(_pos++, value.intValue());
79          }
80          else {
81              addNull();
82          }
83      }
84  
85      public void add(int value) {
86          _query.setInteger(_pos++, value);
87      }
88  
89      public void add(Integer value) {
90          if (value != null) {
91              _query.setInteger(_pos++, value.intValue());
92          }
93          else {
94              addNull();
95          }
96      }
97  
98      public void add(long value) {
99          _query.setLong(_pos++, value);
100     }
101 
102     public void add(Long value) {
103         if (value != null) {
104             _query.setLong(_pos++, value.longValue());
105         }
106         else {
107             addNull();
108         }
109     }
110 
111     public void add(short value) {
112         _query.setShort(_pos++, value);
113     }
114 
115     public void add(Short value) {
116         if (value != null) {
117             _query.setShort(_pos++, value.shortValue());
118         }
119         else {
120             addNull();
121         }
122     }
123 
124     public void add(String value) {
125         _query.setString(_pos++, value);
126     }
127 
128     public void add(String[] values) {
129         add(values, 1);
130     }
131 
132     public void add(String[] values, int count) {
133         for (int i = 0; i < values.length; i++) {
134             for (int j = 0; j < count; j++) {
135                 add(values[i]);
136             }
137         }
138     }
139 
140     public void add(Timestamp value) {
141         _query.setTimestamp(_pos++, value);
142     }
143 
144     private QueryPos(Query query) {
145         _query = query;
146     }
147 
148     private void addNull() {
149         _query.setSerializable(_pos++, null);
150     }
151 
152     private Query _query;
153     private int _pos;
154 
155 }