001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.runtime.db.driver;
020
021import java.io.InputStream;
022import java.io.Reader;
023import java.math.BigDecimal;
024import java.net.URL;
025import java.sql.Array;
026import java.sql.Blob;
027import java.sql.Clob;
028import java.sql.Date;
029import java.sql.NClob;
030import java.sql.ParameterMetaData;
031import java.sql.PreparedStatement;
032import java.sql.Ref;
033import java.sql.ResultSet;
034import java.sql.ResultSetMetaData;
035import java.sql.RowId;
036import java.sql.SQLException;
037import java.sql.SQLXML;
038import java.sql.Time;
039import java.sql.Timestamp;
040import java.util.Calendar;
041
042import lucee.runtime.PageContext;
043
044public class PreparedStatementProxy extends StatementProxy implements PreparedStatementPro {
045
046        protected PreparedStatement stat;
047        protected String sql;
048
049        public PreparedStatementProxy(ConnectionProxy conn, PreparedStatement stat, String sql) {
050                super(conn, stat);
051                this.stat=stat;
052                this.sql=sql;
053        }
054        
055        public String getSQL() {
056                return sql;
057        }
058
059        @Override
060        public boolean execute() throws SQLException {
061                return stat.execute();
062        }
063
064        @Override
065        public ResultSet executeQuery() throws SQLException {
066                return stat.executeQuery();
067        }
068
069        @Override
070        public int executeUpdate() throws SQLException {
071                return stat.executeUpdate();
072        }
073        
074        @Override
075        public boolean execute(PageContext pc) throws SQLException{
076                return stat.execute();
077        }
078        
079        @Override
080        public ResultSet executeQuery(PageContext pc) throws SQLException{
081                return stat.executeQuery();
082        }
083        
084        @Override
085        public int executeUpdate(PageContext pc) throws SQLException{
086                return stat.executeUpdate();
087        }
088        
089        @Override
090        public void addBatch() throws SQLException {
091                stat.addBatch();
092        }
093
094        @Override
095        public void clearParameters() throws SQLException {
096                stat.clearParameters();
097        }
098
099        @Override
100        public ResultSetMetaData getMetaData() throws SQLException {
101                return stat.getMetaData();
102        }
103
104        @Override
105        public ParameterMetaData getParameterMetaData() throws SQLException {
106                return stat.getParameterMetaData();
107        }
108
109        @Override
110        public void setArray(int parameterIndex, Array x) throws SQLException {
111                stat.setArray(parameterIndex, x);
112        }
113
114        @Override
115        public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
116                stat.setAsciiStream(parameterIndex, x);
117        }
118
119        @Override
120        public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException {
121                stat.setAsciiStream(parameterIndex, x,length);
122        }
123
124        @Override
125        public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
126                stat.setAsciiStream(parameterIndex, x, length);
127        }
128
129        @Override
130        public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException {
131                stat.setBigDecimal(parameterIndex, x);
132        }
133
134        @Override
135        public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
136                stat.setBinaryStream(parameterIndex, x);
137        }
138
139        @Override
140        public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException {
141                stat.setBinaryStream(parameterIndex, x, length);
142        }
143
144        @Override
145        public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException {
146                stat.setBinaryStream(parameterIndex, x, length);
147        }
148
149        @Override
150        public void setBlob(int parameterIndex, Blob x) throws SQLException {
151                stat.setBlob(parameterIndex, x);
152        }
153
154        @Override
155        public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
156                stat.setBlob(parameterIndex, inputStream);
157        }
158
159        @Override
160        public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
161                stat.setBlob(parameterIndex, inputStream, length);
162        }
163
164        @Override
165        public void setBoolean(int parameterIndex, boolean x) throws SQLException {
166                stat.setBoolean(parameterIndex, x);
167        }
168
169        @Override
170        public void setByte(int parameterIndex, byte x) throws SQLException {
171                stat.setByte(parameterIndex, x);
172        }
173
174        @Override
175        public void setBytes(int parameterIndex, byte[] x) throws SQLException {
176                stat.setBytes(parameterIndex, x);
177        }
178
179        @Override
180        public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
181                stat.setCharacterStream(parameterIndex, reader);
182        }
183
184        @Override
185        public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException {
186                stat.setCharacterStream(parameterIndex, reader, length);
187        }
188
189        @Override
190        public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
191                stat.setCharacterStream(parameterIndex, reader, length);
192        }
193
194        @Override
195        public void setClob(int parameterIndex, Clob x) throws SQLException {
196                stat.setClob(parameterIndex, x);
197        }
198
199        @Override
200        public void setClob(int parameterIndex, Reader reader) throws SQLException {
201                stat.setClob(parameterIndex, reader);
202        }
203
204        @Override
205        public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
206                stat.setClob(parameterIndex, reader, length);
207        }
208
209        @Override
210        public void setDate(int parameterIndex, Date x) throws SQLException {
211                stat.setDate(parameterIndex, x);
212        }
213
214        @Override
215        public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException {
216                stat.setDate(parameterIndex, x, cal);
217        }
218
219        @Override
220        public void setDouble(int parameterIndex, double x) throws SQLException {
221                stat.setDouble(parameterIndex, x);
222        }
223
224        @Override
225        public void setFloat(int parameterIndex, float x) throws SQLException {
226                stat.setFloat(parameterIndex, x);
227        }
228
229        @Override
230        public void setInt(int parameterIndex, int x) throws SQLException {
231                stat.setInt(parameterIndex, x);
232        }
233
234        @Override
235        public void setLong(int parameterIndex, long x) throws SQLException {
236                stat.setLong(parameterIndex, x);
237        }
238
239        @Override
240        public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
241                stat.setNCharacterStream(parameterIndex, value);
242        }
243
244        @Override
245        public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
246                stat.setNCharacterStream(parameterIndex, value, length);
247        }
248
249        @Override
250        public void setNClob(int parameterIndex, NClob value) throws SQLException {
251                stat.setNClob(parameterIndex, value);
252        }
253
254        @Override
255        public void setNClob(int parameterIndex, Reader reader) throws SQLException {
256                stat.setNClob(parameterIndex, reader);
257        }
258
259        @Override
260        public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
261                stat.setNClob(parameterIndex, reader, length);
262        }
263
264        @Override
265        public void setNString(int parameterIndex, String value) throws SQLException {
266                stat.setNString(parameterIndex, value);
267        }
268
269        @Override
270        public void setNull(int parameterIndex, int sqlType) throws SQLException {
271                stat.setNull(parameterIndex, sqlType);
272        }
273
274        @Override
275        public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException {
276                stat.setNull(parameterIndex, sqlType, typeName);
277        }
278
279        @Override
280        public void setObject(int parameterIndex, Object x) throws SQLException {
281                stat.setObject(parameterIndex, x);
282        }
283
284        @Override
285        public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException {
286                stat.setObject(parameterIndex, x, targetSqlType);
287        }
288
289        @Override
290        public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException {
291                stat.setObject(parameterIndex, x, targetSqlType, scaleOrLength);
292        }
293
294        @Override
295        public void setRef(int parameterIndex, Ref x) throws SQLException {
296                stat.setRef(parameterIndex, x);
297        }
298
299        @Override
300        public void setRowId(int parameterIndex, RowId x) throws SQLException {
301                stat.setRowId(parameterIndex, x);
302        }
303
304        @Override
305        public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
306                stat.setSQLXML(parameterIndex, xmlObject);
307        }
308
309        @Override
310        public void setShort(int parameterIndex, short x) throws SQLException {
311                stat.setShort(parameterIndex, x);
312        }
313
314        @Override
315        public void setString(int parameterIndex, String x) throws SQLException {
316                stat.setString(parameterIndex, x);
317        }
318
319        @Override
320        public void setTime(int parameterIndex, Time x) throws SQLException {
321                stat.setTime(parameterIndex, x);
322        }
323
324        @Override
325        public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException {
326                stat.setTime(parameterIndex, x, cal);
327        }
328
329        @Override
330        public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException {
331                stat.setTimestamp(parameterIndex, x);
332        }
333
334        @Override
335        public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException {
336                stat.setTimestamp(parameterIndex, x, cal);
337        }
338
339        @Override
340        public void setURL(int parameterIndex, URL x) throws SQLException {
341                stat.setURL(parameterIndex, x);
342        }
343
344        @Override
345        public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException {
346                stat.setUnicodeStream(parameterIndex, x, length);
347        }
348}