dgraham 2003/10/22 20:53:31
Modified: dbutils/src/java/org/apache/commons/dbutils
ProxyFactory.java
dbutils/src/test/org/apache/commons/dbutils
ProxyFactoryTest.java
Log:
Added createCallableStatement() and tests.
Revision Changes Path
1.3 +140 -118
jakarta-commons-sandbox/dbutils/src/java/org/apache/commons/dbutils/ProxyFactory.java
Index: ProxyFactory.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/dbutils/src/java/org/apache/commons/dbutils/ProxyFactory.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ProxyFactory.java 22 Oct 2003 04:13:21 -0000 1.2
+++ ProxyFactory.java 23 Oct 2003 03:53:31 -0000 1.3
@@ -63,6 +63,7 @@
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
+import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.PreparedStatement;
@@ -81,120 +82,141 @@
*/
public class ProxyFactory {
- /**
- * Class[] for Connection interface.
- */
- private static final Class[] connectionClass = new Class[] { Connection.class };
-
- /**
- * Class[] for Driver interface.
- */
- private static final Class[] driverClass = new Class[] { Driver.class };
-
- /**
- * The Singleton instance of this class.
- */
- private static final ProxyFactory instance = new ProxyFactory();
-
- /**
- * Class[] for ResultSetMetaData interface.
- */
- private static final Class[] metaClass = new Class[] { ResultSetMetaData.class
};
-
- /**
- * Class[] for PreparedStatement interface.
- */
- private static final Class[] preparedStatementClass =
- new Class[] { PreparedStatement.class };
-
- /**
- * Class[] for ResultSet interface.
- */
- private static final Class[] resultSetClass = new Class[] { ResultSet.class };
-
- /**
- * Class[] for Statement interface.
- */
- private static final Class[] statementClass = new Class[] { Statement.class };
-
- /**
- * Returns the Singleton instance of this class.
- */
- public static ProxyFactory instance() {
- return instance;
- }
-
- /**
- * Protected constructor for ProxyFactory subclasses to use.
- */
- protected ProxyFactory() {
- super();
- }
-
- /**
- * Creates a new proxy <code>Connection</code> object.
- * @param handler The handler that intercepts/overrides method calls.
- */
- public Connection createConnection(InvocationHandler handler) {
- return (Connection) Proxy.newProxyInstance(
- handler.getClass().getClassLoader(),
- connectionClass,
- handler);
- }
-
- /**
- * Creates a new proxy <code>Driver</code> object.
- * @param handler The handler that intercepts/overrides method calls.
- */
- public Driver createDriver(InvocationHandler handler) {
- return (Driver) Proxy.newProxyInstance(
- handler.getClass().getClassLoader(),
- driverClass,
- handler);
- }
-
- /**
- * Creates a new proxy <code>PreparedStatement</code> object.
- * @param handler The handler that intercepts/overrides method calls.
- */
- public PreparedStatement createPreparedStatement(InvocationHandler handler) {
- return (PreparedStatement) Proxy.newProxyInstance(
- handler.getClass().getClassLoader(),
- preparedStatementClass,
- handler);
- }
-
- /**
- * Creates a new proxy <code>ResultSet</code> object.
- * @param handler The handler that intercepts/overrides method calls.
- */
- public ResultSet createResultSet(InvocationHandler handler) {
- return (ResultSet) Proxy.newProxyInstance(
- handler.getClass().getClassLoader(),
- resultSetClass,
- handler);
- }
-
- /**
- * Creates a new proxy <code>ResultSetMetaData</code> object.
- * @param handler The handler that intercepts/overrides method calls.
- */
- public ResultSetMetaData createResultSetMetaData(InvocationHandler handler) {
- return (ResultSetMetaData) Proxy.newProxyInstance(
- handler.getClass().getClassLoader(),
- metaClass,
- handler);
- }
-
- /**
- * Creates a new proxy <code>Statement</code> object.
- * @param handler The handler that intercepts/overrides method calls.
- */
- public Statement createStatement(InvocationHandler handler) {
- return (Statement) Proxy.newProxyInstance(
- handler.getClass().getClassLoader(),
- statementClass,
- handler);
- }
+ /**
+ * Class[] for CallableStatement interface.
+ */
+ private static final Class[] callableStatementClass =
+ new Class[] { CallableStatement.class };
+
+ /**
+ * Class[] for Connection interface.
+ */
+ private static final Class[] connectionClass =
+ new Class[] { Connection.class };
+
+ /**
+ * Class[] for Driver interface.
+ */
+ private static final Class[] driverClass = new Class[] { Driver.class };
+
+ /**
+ * The Singleton instance of this class.
+ */
+ private static final ProxyFactory instance = new ProxyFactory();
+
+ /**
+ * Class[] for ResultSetMetaData interface.
+ */
+ private static final Class[] metaClass =
+ new Class[] { ResultSetMetaData.class };
+
+ /**
+ * Class[] for PreparedStatement interface.
+ */
+ private static final Class[] preparedStatementClass =
+ new Class[] { PreparedStatement.class };
+
+ /**
+ * Class[] for ResultSet interface.
+ */
+ private static final Class[] resultSetClass =
+ new Class[] { ResultSet.class };
+
+ /**
+ * Class[] for Statement interface.
+ */
+ private static final Class[] statementClass =
+ new Class[] { Statement.class };
+
+ /**
+ * Returns the Singleton instance of this class.
+ */
+ public static ProxyFactory instance() {
+ return instance;
+ }
+
+ /**
+ * Protected constructor for ProxyFactory subclasses to use.
+ */
+ protected ProxyFactory() {
+ super();
+ }
+
+ /**
+ * Creates a new proxy <code>CallableStatement</code> object.
+ * @param handler The handler that intercepts/overrides method calls.
+ */
+ public PreparedStatement createCallableStatement(InvocationHandler handler) {
+ return (CallableStatement) Proxy.newProxyInstance(
+ handler.getClass().getClassLoader(),
+ callableStatementClass,
+ handler);
+ }
+
+ /**
+ * Creates a new proxy <code>Connection</code> object.
+ * @param handler The handler that intercepts/overrides method calls.
+ */
+ public Connection createConnection(InvocationHandler handler) {
+ return (Connection) Proxy.newProxyInstance(
+ handler.getClass().getClassLoader(),
+ connectionClass,
+ handler);
+ }
+
+ /**
+ * Creates a new proxy <code>Driver</code> object.
+ * @param handler The handler that intercepts/overrides method calls.
+ */
+ public Driver createDriver(InvocationHandler handler) {
+ return (Driver) Proxy.newProxyInstance(
+ handler.getClass().getClassLoader(),
+ driverClass,
+ handler);
+ }
+
+ /**
+ * Creates a new proxy <code>PreparedStatement</code> object.
+ * @param handler The handler that intercepts/overrides method calls.
+ */
+ public PreparedStatement createPreparedStatement(InvocationHandler handler) {
+ return (PreparedStatement) Proxy.newProxyInstance(
+ handler.getClass().getClassLoader(),
+ preparedStatementClass,
+ handler);
+ }
+
+ /**
+ * Creates a new proxy <code>ResultSet</code> object.
+ * @param handler The handler that intercepts/overrides method calls.
+ */
+ public ResultSet createResultSet(InvocationHandler handler) {
+ return (ResultSet) Proxy.newProxyInstance(
+ handler.getClass().getClassLoader(),
+ resultSetClass,
+ handler);
+ }
+
+ /**
+ * Creates a new proxy <code>ResultSetMetaData</code> object.
+ * @param handler The handler that intercepts/overrides method calls.
+ */
+ public ResultSetMetaData createResultSetMetaData(InvocationHandler handler) {
+ return (ResultSetMetaData) Proxy.newProxyInstance(
+ handler.getClass().getClassLoader(),
+ metaClass,
+ handler);
+ }
+
+ /**
+ * Creates a new proxy <code>Statement</code> object.
+ * @param handler The handler that intercepts/overrides method calls.
+ */
+ public Statement createStatement(InvocationHandler handler) {
+ return (Statement) Proxy.newProxyInstance(
+ handler.getClass().getClassLoader(),
+ statementClass,
+ handler);
+ }
}
1.3 +10 -3
jakarta-commons-sandbox/dbutils/src/test/org/apache/commons/dbutils/ProxyFactoryTest.java
Index: ProxyFactoryTest.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/dbutils/src/test/org/apache/commons/dbutils/ProxyFactoryTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ProxyFactoryTest.java 23 Oct 2003 01:15:34 -0000 1.2
+++ ProxyFactoryTest.java 23 Oct 2003 03:53:31 -0000 1.3
@@ -63,6 +63,7 @@
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
+import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.PreparedStatement;
@@ -125,6 +126,12 @@
public void testCreateStatement() {
assertTrue(
ProxyFactory.instance().createStatement(stub) instanceof
Statement);
+ }
+
+ public void testCreateCallableStatement() {
+ assertTrue(
+ ProxyFactory.instance().createCallableStatement(stub)
+ instanceof CallableStatement);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]