FileDocCategorySizeDatePackage
StatementWrapper40.javaAPI DocGlassfish v2 API10437Fri May 04 22:36:06 BST 2007com.sun.gjc.spi.jdbc40

StatementWrapper40

public class StatementWrapper40 extends com.sun.gjc.spi.base.StatementWrapper
Wrapper for JDBC 4.0 Statement

Fields Summary
protected static final com.sun.enterprise.util.i18n.StringManager
localStrings
Constructors Summary
public StatementWrapper40(Connection con, Statement statement)
Creates a new instance of StatementWrapper for JDBC 3.0

param
con ConnectionWrapper
param
statement Statement that is to be wrapped


                               
         
        super(con, statement);
    
Methods Summary
public java.sql.ResultSetexecuteQuery(java.lang.String sql)
Executes the given SQL statement, which returns a single ResultSet object.

param
sql an SQL statement to be sent to the database, typically a static SQL SELECT statement
return
a ResultSet object that contains the data produced by the given query; never null
exception
SQLException if a database access error occurs, this method is called on a closed Statement or the given SQL statement produces anything other than a single ResultSet object

        ResultSet rs = jdbcStatement.executeQuery(sql);
        if (rs == null)
            return null;
        return new ResultSetWrapper40(this, rs);
    
public java.sql.ResultSetgetGeneratedKeys()
Retrieves any auto-generated keys created as a result of executing this Statement object. If this Statement object did not generate any keys, an empty ResultSet object is returned.

Note:If the columns which represent the auto-generated keys were not specified, the JDBC driver implementation will determine the columns which best represent the auto-generated keys.

return
a ResultSet object containing the auto-generated key(s) generated by the execution of this Statement object
exception
SQLException if a database access error occurs or this method is called on a closed Statement
throws
java.sql.SQLFeatureNotSupportedException if the JDBC driver does not support this method
since
1.4

        ResultSet rs = jdbcStatement.getGeneratedKeys();
        if (rs == null)
            return null;
        return new ResultSetWrapper40(this, rs);
    
public java.sql.ResultSetgetResultSet()
Retrieves the current result as a ResultSet object. This method should be called only once per result.

return
the current result as a ResultSet object or null if the result is an update count or there are no more results
exception
SQLException if a database access error occurs or this method is called on a closed Statement
see
#execute

        ResultSet rs = jdbcStatement.getResultSet();
        if (rs == null)
            return null;
        return new ResultSetWrapper40(this, rs);
    
public booleanisClosed()
Retrieves whether this Statement object has been closed. A Statement is closed if the method close has been called on it, or if it is automatically closed.

return
true if this Statement object is closed; false if it is still open
throws
SQLException if a database access error occurs
since
1.6

        return jdbcStatement.isClosed();
    
public booleanisPoolable()
Returns a value indicating whether the Statement is poolable or not.

return
true if the Statement is poolable; false otherwise

throws
SQLException if this method is called on a closed Statement

since
1.6

see
java.sql.Statement#setPoolable(boolean) setPoolable(boolean)

        return jdbcStatement.isPoolable();
    
public booleanisWrapperFor(java.lang.Class iface)
Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively calling isWrapperFor on the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared to unwrap so that callers can use this method to avoid expensive unwrap calls that may fail. If this method returns true then calling unwrap with the same argument should succeed.

param
iface a Class defining an interface.
return
true if this implements the interface or directly or indirectly wraps an object that does.
throws
java.sql.SQLException if an error occurs while determining whether this is a wrapper for an object with the given interface.
since
1.6


        boolean result ;
        if (iface.isInstance(this)) {
            result = true;
        }else{
            result = jdbcStatement.isWrapperFor(iface);
        }
        return result;
    
public voidsetPoolable(boolean poolable)
Requests that a Statement be pooled or not pooled. The value specified is a hint to the statement pool implementation indicating whether the applicaiton wants the statement to be pooled. It is up to the statement pool manager as to whether the hint is used.

The poolable value of a statement is applicable to both internal statement caches implemented by the driver and external statement caches implemented by application servers and other applications.

By default, a Statement is not poolable when created, and a PreparedStatement and CallableStatement are poolable when created.

param
poolable requests that the statement be pooled if true and that the statement not be pooled if false

throws
SQLException if this method is called on a closed Statement

since
1.6

        jdbcStatement.setPoolable(poolable);
    
public Tunwrap(java.lang.Class iface)
Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of calling unwrap recursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then an SQLException is thrown.

param
iface A Class defining an interface that the result must implement.
return
an object that implements the interface. May be a proxy for the actual implementing object.
throws
java.sql.SQLException If no object found that implements the interface
since
1.6

        T result ;
        if (iface.isInstance(this)) {
            result = iface.cast(this); 
        } else {
            result = jdbcStatement.unwrap(iface);
        }
        return result;