bayard      2002/11/10 19:16:38

  Added:       dbutils/src/java/org/apache/commons/dbutils/driver/enhanced
                        EnhancedCallableStatement.java
                        EnhancedConnection.java EnhancedDriver.java
                        EnhancedPreparedStatement.java
                        EnhancedResultSet.java EnhancedStatement.java
  Log:
  An Enhanced driver. It provides extra methods for getting primitive fields
  as their object wrapper.
  
  This does mean the user has to cast to those objects. The alternative pattern
  of use is for the user to build an object around the existing one.
  
  Which strategy to choose needs to be decided.
  
  Revision  Changes    Path
  1.1                  
jakarta-commons-sandbox/dbutils/src/java/org/apache/commons/dbutils/driver/enhanced/EnhancedCallableStatement.java
  
  Index: EnhancedCallableStatement.java
  ===================================================================
  package org.apache.commons.dbutils.driver.enhanced;
  
  import java.sql.CallableStatement;
  import java.sql.ResultSet;
  import java.sql.Connection;
  
  import org.apache.commons.dbutils.driver.CallableStatementWrapper;
  
  public class EnhancedCallableStatement extends CallableStatementWrapper
  {
  
      public EnhancedCallableStatement(CallableStatement statement, Connection conn) {
          super(statement, conn);
      }
      
      protected ResultSet wrap(ResultSet rs) {
          return new EnhancedResultSet(rs, this);
      }
  
  }
  
  
  
  1.1                  
jakarta-commons-sandbox/dbutils/src/java/org/apache/commons/dbutils/driver/enhanced/EnhancedConnection.java
  
  Index: EnhancedConnection.java
  ===================================================================
  package org.apache.commons.dbutils.driver.enhanced;
  
  import java.sql.Connection;
  import java.sql.Statement;
  import java.sql.PreparedStatement;
  import java.sql.CallableStatement;
  
  import org.apache.commons.dbutils.driver.ConnectionWrapper;
  import org.apache.commons.dbutils.driver.StatementWrapper;
  import org.apache.commons.dbutils.driver.PreparedStatementWrapper;
  import org.apache.commons.dbutils.driver.CallableStatementWrapper;
  
  public class EnhancedConnection extends ConnectionWrapper 
  {
  
      public EnhancedConnection(Connection conn) {
          super(conn);
      }
  
      protected Statement wrap(Statement stat) {
          return new StatementWrapper(stat, this);
      }
  
      protected PreparedStatement wrapPrepared(PreparedStatement stat) {
          return new PreparedStatementWrapper(stat, this);
      }
  
      protected CallableStatement wrapCallable(CallableStatement stat) {
          return new CallableStatementWrapper(stat, this);
      }
  
  }
  
  
  
  1.1                  
jakarta-commons-sandbox/dbutils/src/java/org/apache/commons/dbutils/driver/enhanced/EnhancedDriver.java
  
  Index: EnhancedDriver.java
  ===================================================================
  package org.apache.commons.dbutils.driver.enhanced;
  
  import java.sql.Connection;
  import java.sql.DriverManager;
  import java.sql.SQLException;
  
  import org.apache.commons.dbutils.driver.ConnectionWrapper;
  import org.apache.commons.dbutils.driver.DriverWrapper;
  
  /**
   * A driver which wraps another driver. It is pointless utterly 
   * in itself, but it is accessed with 
   *    db://[real_driver]/[real_url]
   * It will ensure that the real_driver class is loaded.
   *
   * The real reason for it to exist is to be extended. 
   * Methods are provided to plugin classes, but the user is 
   * expected to handle the static method. 
   * The wrap(..) methods are used to provide the class as a plugin.
   * TODO:// An example extension will be available before release.
   */
  public class EnhancedDriver extends DriverWrapper 
  {
  
      /// Extensions need to repeat this themselves...
      /// Or maybe have this done automatically by ensureLoaded?
      /// if it recognises a driver as extending this driver?
      static {
          try {
              EnhancedDriver wrapper = new EnhancedDriver();
              DriverManager.registerDriver(wrapper);
          } catch(SQLException sqle) {
          }
      }
  
      protected String getProtocol() {
          return "enhanced";
      }
  
      protected Connection wrap(Connection conn) {
          return new ConnectionWrapper(conn);
      }
  
  }
  
  
  
  1.1                  
jakarta-commons-sandbox/dbutils/src/java/org/apache/commons/dbutils/driver/enhanced/EnhancedPreparedStatement.java
  
  Index: EnhancedPreparedStatement.java
  ===================================================================
  package org.apache.commons.dbutils.driver.enhanced;
  
  import java.sql.PreparedStatement;
  import java.sql.ResultSet;
  import java.sql.Connection;
  
  import org.apache.commons.dbutils.driver.PreparedStatementWrapper;
  
  public class EnhancedPreparedStatement extends PreparedStatementWrapper
  {
  
      public EnhancedPreparedStatement(PreparedStatement statement, Connection conn) {
          super(statement, conn);
      }
      
      protected ResultSet wrap(ResultSet rs) {
          return new EnhancedResultSet(rs, this);
      }
  
  }
  
  
  
  1.1                  
jakarta-commons-sandbox/dbutils/src/java/org/apache/commons/dbutils/driver/enhanced/EnhancedResultSet.java
  
  Index: EnhancedResultSet.java
  ===================================================================
  package org.apache.commons.dbutils.driver.enhanced;
  
  import java.sql.ResultSet;
  import java.sql.Statement;
  import java.sql.SQLException;
  
  import org.apache.commons.dbutils.driver.ResultSetWrapper;
  
  public class EnhancedResultSet extends ResultSetWrapper 
  {
  
      public EnhancedResultSet(ResultSet rs, Statement stat) {
          super(rs, stat);
      }
  
      public Boolean getBooleanObject(int idx) throws SQLException {
          return new Boolean(getBoolean(idx));
      }
  
      public Byte getByteObject(int idx) throws SQLException {
          return new Byte(getByte(idx));
      }
  
      public Short getShortObject(int idx) throws SQLException {
          return new Short(getShort(idx));
      }
  
      public Integer getIntegerObject(int idx) throws SQLException {
          return new Integer(getInt(idx));
      }
  
      public Float getFloatObject(int idx) throws SQLException {
          return new Float(getFloat(idx));
      }
  
      public Double getDoubleObject(int idx) throws SQLException {
          return new Double(getDouble(idx));
      }
  
      public Long getLongObject(int idx) throws SQLException {
          return new Long(getLong(idx));
      }
  
      public Boolean getBooleanObject(String column) throws SQLException {
          return new Boolean(getBoolean(column));
      }
  
      public Byte getByteObject(String column) throws SQLException {
          return new Byte(getByte(column));
      }
  
      public Short getShortObject(String column) throws SQLException {
          return new Short(getShort(column));
      }
  
      public Integer getIntegerObject(String column) throws SQLException {
          return new Integer(getInt(column));
      }
  
      public Float getFloatObject(String column) throws SQLException {
          return new Float(getFloat(column));
      }
  
      public Double getDoubleObject(String column) throws SQLException {
          return new Double(getDouble(column));
      }
  
      public Long getLongObject(String column) throws SQLException {
          return new Long(getLong(column));
      }
  
  }
  
  
  
  1.1                  
jakarta-commons-sandbox/dbutils/src/java/org/apache/commons/dbutils/driver/enhanced/EnhancedStatement.java
  
  Index: EnhancedStatement.java
  ===================================================================
  package org.apache.commons.dbutils.driver.enhanced;
  
  import java.sql.Statement;
  import java.sql.ResultSet;
  import java.sql.Connection;
  
  import org.apache.commons.dbutils.driver.StatementWrapper;
  
  public class EnhancedStatement extends StatementWrapper
  {
  
      public EnhancedStatement(Statement statement, Connection conn) {
          super(statement, conn);
      }
      
      protected ResultSet wrap(ResultSet rs) {
          return new EnhancedResultSet(rs, this);
      }
  
  }
  
  
  

--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@;jakarta.apache.org>

Reply via email to