# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Methods

# Wrapper

`public interface Wrapper`
``

java.sql.Wrapper

Known indirect subclasses CallableStatement, Connection, DataSource, DatabaseMetaData, ParameterMetaData, PreparedStatement, ResultSet, ResultSetMetaData, RowSet, RowSetMetaData, Statement
CallableStatement | The interface used to execute SQL stored procedures.
Connection | A connection (session) with a specific database.
DataSource | A factory for connections to the physical data source that this `DataSource` object represents.
DatabaseMetaData | Comprehensive information about the database as a whole.
ParameterMetaData | An object that can be used to get information about the types and properties for each parameter marker in a `PreparedStatement` object.
PreparedStatement | An object that represents a precompiled SQL statement.
ResultSet | A table of data representing a database result set, which is usually generated by executing a statement that queries the database.
ResultSetMetaData | An object that can be used to get information about the types and properties of the columns in a `ResultSet` object.
RowSet | The interface that adds support to the JDBC API for the JavaBeansTM component model.
RowSetMetaData | An object that contains information about the columns in a `RowSet` object.
Statement | The object used for executing a static SQL statement and returning the results it produces.

Interface for JDBC classes which provide the ability to retrieve the delegate instance when the instance in question is in fact a proxy class.

The wrapper pattern is employed by many JDBC driver implementations to provide extensions beyond the traditional JDBC API that are specific to a data source. Developers may wish to gain access to these resources that are wrapped (the delegates) as proxy class instances representing the the actual resources. This interface describes a standard mechanism to access these wrapped resources represented by their proxy, to permit direct access to the resource delegates.

## Summary

### Public methods
`abstract boolean` | `isWrapperFor(Class<?> iface)` Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.
`abstract <T> T` | `unwrap(Class<T> iface)` Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.

## Public methods

### isWrapperFor

    public abstract boolean isWrapperFor (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.

Parameters
`iface` | `Class`: a Class defining an interface.

Returns
`boolean` | true if this implements the interface or directly or indirectly wraps an object that does.

Throws
`SQLException` | if an error occurs while determining whether this is a wrapper for an object with the given interface.

### unwrap

    public abstract T unwrap (Class<T> 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.

Parameters
`iface` | `Class`: A Class defining an interface that the result must implement.

Returns
`T` | an object that implements the interface. May be a proxy for the actual implementing object.

Throws
`SQLException` | If no object found that implements the interface

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*