1 /*
2 * $Source$
3 * $Revision$
4 *
5 * Copyright (C) 2008 Tim Pizey
6 *
7 * Part of Melati (http://melati.org), a framework for the rapid
8 * development of clean, maintainable web applications.
9 *
10 * Melati is free software; Permission is granted to copy, distribute
11 * and/or modify this software under the terms either:
12 *
13 * a) the GNU General Public License as published by the Free Software
14 * Foundation; either version 2 of the License, or (at your option)
15 * any later version,
16 *
17 * or
18 *
19 * b) any version of the Melati Software License, as published
20 * at http://melati.org
21 *
22 * You should have received a copy of the GNU General Public License and
23 * the Melati Software License along with this program;
24 * if not, write to the Free Software Foundation, Inc.,
25 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA to obtain the
26 * GNU General Public License and visit http://melati.org to obtain the
27 * Melati Software License.
28 *
29 * Feel free to contact the Developers of Melati (http://melati.org),
30 * if you would like to work out a different arrangement than the options
31 * outlined here. It is our intention to allow Melati to be used by as
32 * wide an audience as possible.
33 *
34 * This program is distributed in the hope that it will be useful,
35 * but WITHOUT ANY WARRANTY; without even the implied warranty of
36 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37 * GNU General Public License for more details.
38 *
39 * Contact details for copyright holder:
40 *
41 * Tim Pizey <timp At paneris.org>
42 * http://paneris.org/~timp
43 */
44
45 package org.melati.poem.dbms.test.sql;
46
47 import java.io.InputStream;
48 import java.io.OutputStream;
49 import java.io.Reader;
50 import java.io.Writer;
51 import java.sql.SQLException;
52 import java.sql.SQLXML;
53
54 import javax.xml.transform.Result;
55 import javax.xml.transform.Source;
56
57 /**
58 * @author timp
59 * @since 5 Feb 2008
60 *
61 */
62 public class ThrowingSQLXML extends Thrower implements SQLXML {
63
64 SQLXML it = null;
65
66
67 /**
68 * Constructor.
69 */
70 public ThrowingSQLXML(SQLXML sx) {
71 it = sx;
72 }
73
74 /**
75 * {@inheritDoc}
76 * @see java.sql.SQLXML#free()
77 */
78
79 public void free() throws SQLException {
80 if (shouldThrow(this.getClass().getInterfaces()[0], "free"))
81 throw new SQLException("SQLXML bombed");
82 it.free();
83 }
84
85 /**
86 * {@inheritDoc}
87 * @see java.sql.SQLXML#getBinaryStream()
88 */
89
90 public InputStream getBinaryStream() throws SQLException {
91 if (shouldThrow(this.getClass().getInterfaces()[0], "getBinaryStream"))
92 throw new SQLException("SQLXML bombed");
93 return it.getBinaryStream();
94 }
95
96 /**
97 * {@inheritDoc}
98 * @see java.sql.SQLXML#getCharacterStream()
99 */
100
101 public Reader getCharacterStream() throws SQLException {
102 if (shouldThrow(this.getClass().getInterfaces()[0], "getCharacterStream"))
103 throw new SQLException("SQLXML bombed");
104 return it.getCharacterStream();
105 }
106
107 /**
108 * {@inheritDoc}
109 * @see java.sql.SQLXML#getSource(java.lang.Class)
110 */
111
112 public <T extends Source> T getSource(Class<T> sourceClass)
113 throws SQLException {
114 if (shouldThrow(this.getClass().getInterfaces()[0], "getSource"))
115 throw new SQLException("SQLXML bombed");
116 return it.getSource(sourceClass);
117 }
118
119 /**
120 * {@inheritDoc}
121 * @see java.sql.SQLXML#getString()
122 */
123
124 public String getString() throws SQLException {
125 if (shouldThrow(this.getClass().getInterfaces()[0], "getString"))
126 throw new SQLException("SQLXML bombed");
127 return it.getString();
128 }
129
130 /**
131 * {@inheritDoc}
132 * @see java.sql.SQLXML#setBinaryStream()
133 */
134
135 public OutputStream setBinaryStream() throws SQLException {
136 if (shouldThrow(this.getClass().getInterfaces()[0], "setBinaryStream"))
137 throw new SQLException("SQLXML bombed");
138 return it.setBinaryStream();
139 }
140
141 /**
142 * {@inheritDoc}
143 * @see java.sql.SQLXML#setCharacterStream()
144 */
145
146 public Writer setCharacterStream() throws SQLException {
147 if (shouldThrow(this.getClass().getInterfaces()[0], "setCharacterStream"))
148 throw new SQLException("SQLXML bombed");
149 return it.setCharacterStream();
150 }
151
152 /**
153 * {@inheritDoc}
154 * @see java.sql.SQLXML#setResult(java.lang.Class)
155 */
156
157 public <T extends Result> T setResult(Class<T> resultClass)
158 throws SQLException {
159 if (shouldThrow(this.getClass().getInterfaces()[0], "setResult"))
160 throw new SQLException("SQLXML bombed");
161 return it.setResult(resultClass);
162 }
163
164 /**
165 * {@inheritDoc}
166 * @see java.sql.SQLXML#setString(java.lang.String)
167 */
168
169 public void setString(String value) throws SQLException {
170 if (shouldThrow(this.getClass().getInterfaces()[0], "setString"))
171 throw new SQLException("SQLXML bombed");
172 it.setString(value);
173 }
174
175 }