KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > protomatter > jdbc > pool > PreparedStatementWrapper


1 package com.protomatter.jdbc.pool;
2
3 import java.io.*;
4 import java.sql.*;
5 import java.util.Calendar JavaDoc;
6
7 import com.protomatter.syslog.Channel;
8
9 /**
10  * A wrapper for JDBC prepared statements.
11  *
12  * @see PreparedStatement
13  */

14 class PreparedStatementWrapper
15 extends StatementWrapper
16 implements PreparedStatement
17 {
18     private ConnectionWrapper connection = null;
19     private PreparedStatement statement = null;
20     private boolean isClosed = false;
21     private Channel log = Channel.forPackage(PreparedStatementWrapper.class);
22
23     public PreparedStatementWrapper(ConnectionWrapper connection, PreparedStatement statement)
24     {
25         super(connection, statement);
26         this.connection = connection;
27         this.statement = statement;
28     }
29
30     public PreparedStatement getPreparedStatement()
31     {
32         if (this.statement == null)
33             return null;
34         return this.statement;
35     }
36
37     private final void checkClosed()
38     throws SQLException
39     {
40         if (this.isClosed)
41             throw new SQLException("PreparedStatement is already closed.");
42     }
43
44     public ResultSet executeQuery()
45     throws SQLException
46     {
47         checkClosed();
48         return (ResultSet)callMethod(statement, "executeQuery");
49     }
50
51     public int executeUpdate()
52     throws SQLException
53     {
54         checkClosed();
55         return callIntMethod(statement, "executeUpdate", new Class JavaDoc[0], new Object JavaDoc[0]);
56     }
57
58     public void setNull(int index, int type)
59     throws SQLException
60     {
61         checkClosed();
62         callMethod(statement, "setNull", new Class JavaDoc[] { Integer.TYPE, Integer.TYPE }, new Object JavaDoc[] { new Integer JavaDoc(index), new Integer JavaDoc(type) });
63     }
64
65     public void setBoolean(int index, boolean value)
66     throws SQLException
67     {
68         checkClosed();
69         callMethod(statement, "setBoolean", new Class JavaDoc[] { Integer.TYPE, Boolean.TYPE }, new Object JavaDoc[] { new Integer JavaDoc(index), new Boolean JavaDoc(value) });
70     }
71
72     public void setByte(int index, byte value)
73     throws SQLException
74     {
75         checkClosed();
76         callMethod(statement, "setByte", new Class JavaDoc[] { Integer.TYPE, Integer.TYPE }, new Object JavaDoc[] { new Integer JavaDoc(index), new Integer JavaDoc(value) });
77     }
78
79     public void setShort(int index, short value)
80     throws SQLException
81     {
82         checkClosed();
83         callMethod(statement, "setShort", new Class JavaDoc[] { Integer.TYPE, Short.TYPE }, new Object JavaDoc[] { new Integer JavaDoc(index), new Short JavaDoc(value) });
84     }
85
86     public void setInt(int index, int value)
87     throws SQLException
88     {
89         checkClosed();
90         callMethod(statement, "setInt", new Class JavaDoc[] { Integer.TYPE, Integer.TYPE }, new Object JavaDoc[] { new Integer JavaDoc(index), new Integer JavaDoc(value) });
91     }
92
93     public void setLong(int index, long value)
94     throws SQLException
95     {
96         checkClosed();
97         callMethod(statement, "setLong", new Class JavaDoc[] { Integer.TYPE, Long.TYPE }, new Object JavaDoc[] { new Integer JavaDoc(index), new Long JavaDoc(value) });
98     }
99
100     public void setFloat(int index, float value)
101     throws SQLException
102     {
103         checkClosed();
104         callMethod(statement, "setFloat", new Class JavaDoc[] { Integer.TYPE, Float.TYPE }, new Object JavaDoc[] { new Integer JavaDoc(index), new Float JavaDoc(value) });
105     }
106
107     public void setDouble(int index, double value)
108     throws SQLException
109     {
110         checkClosed();
111         callMethod(statement, "setDouble", new Class JavaDoc[] { Integer.TYPE, Double.TYPE }, new Object JavaDoc[] { new Integer JavaDoc(index), new Double JavaDoc(value) });
112     }
113
114     public void setBigDecimal(int index, java.math.BigDecimal JavaDoc value)
115     throws SQLException
116     {
117         checkClosed();
118         callMethod(statement, "setBigDecimal", new Class JavaDoc[] { Integer.TYPE, java.math.BigDecimal JavaDoc.class },
119                 new Object JavaDoc[] { new Integer JavaDoc(index), value });
120     }
121
122     public void setString(int index, String JavaDoc value)
123     throws SQLException
124     {
125         checkClosed();
126         callMethod(statement, "setString", new Class JavaDoc[] { Integer.TYPE, String JavaDoc.class }, new Object JavaDoc[] { new Integer JavaDoc(index), value });
127     }
128
129     public void setBytes(int index, byte[] value)
130     throws SQLException
131     {
132         checkClosed();
133         callMethod(statement, "setBytes", new Class JavaDoc[] { Integer.TYPE, byte[].class }, new Object JavaDoc[] { new Integer JavaDoc(index), value });
134     }
135
136     public void setDate(int index, Date value)
137     throws SQLException
138     {
139         checkClosed();
140         callMethod(statement, "setDate", new Class JavaDoc[] { Integer.TYPE, Date.class }, new Object JavaDoc[] { new Integer JavaDoc(index), value });
141     }
142
143     public void setTime(int index, Time value)
144     throws SQLException
145     {
146         checkClosed();
147         callMethod(statement, "setTime", new Class JavaDoc[] { Integer.TYPE, Time.class }, new Object JavaDoc[] { new Integer JavaDoc(index), value });
148     }
149
150     public void setTimestamp(int index, Timestamp value)
151     throws SQLException
152     {
153         checkClosed();
154         callMethod(statement, "setTimestamp", new Class JavaDoc[] { Integer.TYPE, Timestamp.class }, new Object JavaDoc[] { new Integer JavaDoc(index), value });
155     }
156
157     public void setAsciiStream(int index, InputStream input, int length)
158     throws SQLException
159     {
160         checkClosed();
161         callMethod(statement, "setAsciiStream", new Class JavaDoc[] { Integer.TYPE, InputStream.class, Integer.TYPE },
162                 new Object JavaDoc[] { new Integer JavaDoc(index), input, new Integer JavaDoc(length) });
163     }
164
165     public void setUnicodeStream(int index, InputStream input, int length)
166     throws SQLException
167     {
168         checkClosed();
169         callMethod(statement, "setUnicodeStream", new Class JavaDoc[] { Integer.TYPE, InputStream.class, Integer.TYPE },
170                 new Object JavaDoc[] { new Integer JavaDoc(index), input, new Integer JavaDoc(length) });
171     }
172
173     public void setBinaryStream(int index, InputStream input, int length)
174     throws SQLException
175     {
176         checkClosed();
177         callMethod(statement, "setBinaryStream", new Class JavaDoc[] { Integer.TYPE, InputStream.class, Integer.TYPE },
178                 new Object JavaDoc[] { new Integer JavaDoc(index), input, new Integer JavaDoc(length) });
179     }
180
181     public void clearParameters()
182     throws SQLException
183     {
184         checkClosed();
185         callMethod(statement, "clearParameters");
186     }
187
188     public void setObject(int index, Object JavaDoc value, int targetType, int scale)
189     throws SQLException
190     {
191         checkClosed();
192         callMethod(statement, "setObject", new Class JavaDoc[] { Integer.TYPE, Object JavaDoc.class, Integer.TYPE, Integer.TYPE },
193                 new Object JavaDoc[] { new Integer JavaDoc(index), value, new Integer JavaDoc(targetType), new Integer JavaDoc(scale) });
194     }
195
196     public void setObject(int index, Object JavaDoc value, int targetType)
197     throws SQLException
198     {
199         checkClosed();
200         callMethod(statement, "setObject", new Class JavaDoc[] { Integer.TYPE, Object JavaDoc.class, Integer.TYPE },
201                 new Object JavaDoc[] { new Integer JavaDoc(index), value, new Integer JavaDoc(targetType) });
202     }
203
204     public void setObject(int index, Object JavaDoc value)
205     throws SQLException
206     {
207         checkClosed();
208         callMethod(statement, "setObject", new Class JavaDoc[] { Integer.TYPE, Object JavaDoc.class }, new Object JavaDoc[] { new Integer JavaDoc(index), value });
209     }
210
211     public boolean execute()
212     throws SQLException
213     {
214         checkClosed();
215         return callBooleanMethod(statement, "execute", new Class JavaDoc[0], new Object JavaDoc[0]);
216     }
217
218     public void addBatch()
219     throws SQLException
220     {
221         checkClosed();
222         callMethod(statement, "addBatch");
223     }
224
225     public void setCharacterStream(int index, Reader reader, int length)
226     throws SQLException
227     {
228         checkClosed();
229         callMethod(statement, "setCharacterStream", new Class JavaDoc[] { Integer.TYPE, Reader.class, Integer.TYPE },
230                 new Object JavaDoc[] { new Integer JavaDoc(index), reader, new Integer JavaDoc(length) });
231     }
232
233     public void setRef(int index, Ref value)
234     throws SQLException
235     {
236         checkClosed();
237         callMethod(statement, "setRef", new Class JavaDoc[] { Integer.TYPE, Ref.class }, new Object JavaDoc[] { new Integer JavaDoc(index), value });
238     }
239
240     public void setBlob(int index, Blob value)
241     throws SQLException
242     {
243         checkClosed();
244         callMethod(statement, "setBlob", new Class JavaDoc[] { Integer.TYPE, Blob.class }, new Object JavaDoc[] { new Integer JavaDoc(index), value });
245     }
246
247     public void setClob(int index, Clob value)
248     throws SQLException
249     {
250         checkClosed();
251         callMethod(statement, "setClob", new Class JavaDoc[] { Integer.TYPE, Clob.class }, new Object JavaDoc[] { new Integer JavaDoc(index), value });
252     }
253
254     public void setArray(int index, Array value)
255     throws SQLException
256     {
257         checkClosed();
258         callMethod(statement, "setArray", new Class JavaDoc[] { Integer.TYPE, Array.class }, new Object JavaDoc[] { new Integer JavaDoc(index), value });
259     }
260
261     public ResultSetMetaData getMetaData()
262     throws SQLException
263     {
264         checkClosed();
265         return (ResultSetMetaData)callMethod(statement, "getMetaData");
266     }
267
268     public void setDate(int index, Date value, Calendar JavaDoc cal)
269     throws SQLException
270     {
271         checkClosed();
272         callMethod(statement, "setDate", new Class JavaDoc[] { Integer.TYPE, Date.class, Calendar JavaDoc.class },
273                 new Object JavaDoc[] { new Integer JavaDoc(index), value, cal } );
274     }
275
276     public void setTime(int index, Time value, Calendar JavaDoc cal)
277     throws SQLException
278     {
279         checkClosed();
280         callMethod(statement, "setTime", new Class JavaDoc[] { Integer.TYPE, Time.class, Calendar JavaDoc.class },
281                 new Object JavaDoc[] { new Integer JavaDoc(index), value, cal } );
282     }
283
284     public void setTimestamp(int index, Timestamp value, Calendar JavaDoc cal)
285     throws SQLException
286     {
287         checkClosed();
288         callMethod(statement, "setTimestamp", new Class JavaDoc[] { Integer.TYPE, Timestamp.class, Calendar JavaDoc.class },
289                 new Object JavaDoc[] { new Integer JavaDoc(index), value, cal } );
290     }
291
292     public void setNull(int index, int type, String JavaDoc typeName)
293     throws SQLException
294     {
295         checkClosed();
296         callMethod(statement, "setNull", new Class JavaDoc[] { Integer.TYPE, Integer.TYPE, String JavaDoc.class },
297                 new Object JavaDoc[] { new Integer JavaDoc(index), new Integer JavaDoc(type), typeName } );
298     }
299 }
300
Popular Tags