Package virtuoso.jdbc4

## Class StatementWrapper

- java.lang.Object
- - virtuoso.jdbc4.StatementWrapper

All Implemented Interfaces:
  `java.lang.AutoCloseable`, `java.sql.Statement`, `java.sql.Wrapper`, `Closeable`

Direct Known Subclasses:
  `PreparedStatementWrapper`

    public class StatementWrapper
    extends java.lang.Object
    implements java.sql.Statement, Closeable

### Field Summary

Fields
`protected boolean` `isClosed`
`protected java.util.HashMap<java.lang.Object,java.lang.Object>` `objsToClose`
`protected java.sql.Statement` `stmt`
`protected ConnectionWrapper` `wconn`

### Fields inherited from interface java.sql.Statement

`CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO`

### Constructor Summary

Constructors
`protected` `StatementWrapper​(ConnectionWrapper _wconn, java.sql.Statement _stmt)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addBatch​(java.lang.String sql)`
`protected void` `addLink​()`
`protected void` `addObjToClose​(java.lang.Object obj)`
`void` `cancel​()`
`protected void` `check_close​()`
`void` `clearBatch​()`
`void` `clearWarnings​()`
`void` `close​()`
`void` `closeOnCompletion​()`
`protected void` `exceptionOccurred​(java.sql.SQLException sqlEx)`
`boolean` `execute​(java.lang.String sql)`
`boolean` `execute​(java.lang.String sql, int autoGeneratedKeys)`
`boolean` `execute​(java.lang.String sql, int[] columnIndexes)`
`boolean` `execute​(java.lang.String sql, java.lang.String[] columnNames)`
`int[]` `executeBatch​()`
`java.sql.ResultSet` `executeQuery​(java.lang.String sql)`
`int` `executeUpdate​(java.lang.String sql)`
`int` `executeUpdate​(java.lang.String sql, int autoGeneratedKeys)`
`int` `executeUpdate​(java.lang.String sql, int[] columnIndexes)`
`int` `executeUpdate​(java.lang.String sql, java.lang.String[] columnNames)`
`void` `finalize​()`
`java.sql.Connection` `getConnection​()`
`int` `getFetchDirection​()`
`int` `getFetchSize​()`
`java.sql.ResultSet` `getGeneratedKeys​()`
`int` `getMaxFieldSize​()`
`int` `getMaxRows​()`
`boolean` `getMoreResults​()`
`boolean` `getMoreResults​(int current)`
`int` `getQueryTimeout​()`
`java.sql.ResultSet` `getResultSet​()`
`int` `getResultSetConcurrency​()`
`int` `getResultSetHoldability​()`
`int` `getResultSetType​()`
`int` `getUpdateCount​()`
`java.sql.SQLWarning` `getWarnings​()`
`boolean` `isClosed​()`
`boolean` `isCloseOnCompletion​()`
`boolean` `isPoolable​()`
`boolean` `isWrapperFor​(java.lang.Class<?> iface)`
`protected void` `removeLink​()`
`protected void` `removeObjFromClose​(java.lang.Object obj)`
`void` `setCursorName​(java.lang.String name)`
`void` `setEscapeProcessing​(boolean enable)`
`void` `setFetchDirection​(int direction)`
`void` `setFetchSize​(int rows)`
`void` `setMaxFieldSize​(int max)`
`void` `setMaxRows​(int max)`
`void` `setPoolable​(boolean poolable)`
`void` `setQueryTimeout​(int seconds)`
`<T> T` `unwrap​(java.lang.Class<T> iface)`

### Methods inherited from class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.sql.Statement

`enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, getLargeMaxRows, getLargeUpdateCount, isSimpleIdentifier, setLargeMaxRows`

### Field Detail

#### stmt

    protected java.sql.Statement stmt

#### wconn

    protected ConnectionWrapper wconn

#### objsToClose

    protected java.util.HashMap<java.lang.Object,java.lang.Object> objsToClose

#### isClosed

    protected volatile boolean isClosed

### Constructor Detail

#### StatementWrapper

    protected StatementWrapper​(ConnectionWrapper _wconn,
                               java.sql.Statement _stmt)

### Method Detail

#### exceptionOccurred

    protected void exceptionOccurred​(java.sql.SQLException sqlEx)

#### finalize

    public void finalize​()
                  throws java.lang.Throwable

Overrides:
  `finalize` in class `java.lang.Object`
Throws:
  `java.lang.Throwable`

#### addLink

    protected void addLink​()

#### removeLink

    protected void removeLink​()

#### close

    public void close​()
               throws java.sql.SQLException

Specified by:
  `close` in interface `java.lang.AutoCloseable`
Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### executeQuery

    public java.sql.ResultSet executeQuery​(java.lang.String sql)
                                    throws java.sql.SQLException

Specified by:
  `executeQuery` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### executeUpdate

    public int executeUpdate​(java.lang.String sql)
                      throws java.sql.SQLException

Specified by:
  `executeUpdate` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getMaxFieldSize

    public int getMaxFieldSize​()
                        throws java.sql.SQLException

Specified by:
  `getMaxFieldSize` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### setMaxFieldSize

    public void setMaxFieldSize​(int max)
                         throws java.sql.SQLException

Specified by:
  `setMaxFieldSize` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getMaxRows

    public int getMaxRows​()
                   throws java.sql.SQLException

Specified by:
  `getMaxRows` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### setMaxRows

    public void setMaxRows​(int max)
                    throws java.sql.SQLException

Specified by:
  `setMaxRows` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### setEscapeProcessing

    public void setEscapeProcessing​(boolean enable)
                             throws java.sql.SQLException

Specified by:
  `setEscapeProcessing` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getQueryTimeout

    public int getQueryTimeout​()
                        throws java.sql.SQLException

Specified by:
  `getQueryTimeout` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### setQueryTimeout

    public void setQueryTimeout​(int seconds)
                         throws java.sql.SQLException

Specified by:
  `setQueryTimeout` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### cancel

    public void cancel​()
                throws java.sql.SQLException

Specified by:
  `cancel` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getWarnings

    public java.sql.SQLWarning getWarnings​()
                                    throws java.sql.SQLException

Specified by:
  `getWarnings` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### clearWarnings

    public void clearWarnings​()
                       throws java.sql.SQLException

Specified by:
  `clearWarnings` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### setCursorName

    public void setCursorName​(java.lang.String name)
                       throws java.sql.SQLException

Specified by:
  `setCursorName` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### execute

    public boolean execute​(java.lang.String sql)
                    throws java.sql.SQLException

Specified by:
  `execute` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getResultSet

    public java.sql.ResultSet getResultSet​()
                                    throws java.sql.SQLException

Specified by:
  `getResultSet` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getUpdateCount

    public int getUpdateCount​()
                       throws java.sql.SQLException

Specified by:
  `getUpdateCount` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getMoreResults

    public boolean getMoreResults​()
                           throws java.sql.SQLException

Specified by:
  `getMoreResults` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### setFetchDirection

    public void setFetchDirection​(int direction)
                           throws java.sql.SQLException

Specified by:
  `setFetchDirection` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getFetchDirection

    public int getFetchDirection​()
                          throws java.sql.SQLException

Specified by:
  `getFetchDirection` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### setFetchSize

    public void setFetchSize​(int rows)
                      throws java.sql.SQLException

Specified by:
  `setFetchSize` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getFetchSize

    public int getFetchSize​()
                     throws java.sql.SQLException

Specified by:
  `getFetchSize` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getResultSetConcurrency

    public int getResultSetConcurrency​()
                                throws java.sql.SQLException

Specified by:
  `getResultSetConcurrency` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getResultSetType

    public int getResultSetType​()
                         throws java.sql.SQLException

Specified by:
  `getResultSetType` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### addBatch

    public void addBatch​(java.lang.String sql)
                  throws java.sql.SQLException

Specified by:
  `addBatch` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### clearBatch

    public void clearBatch​()
                    throws java.sql.SQLException

Specified by:
  `clearBatch` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### executeBatch

    public int[] executeBatch​()
                       throws java.sql.SQLException

Specified by:
  `executeBatch` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getConnection

    public java.sql.Connection getConnection​()
                                      throws java.sql.SQLException

Specified by:
  `getConnection` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getMoreResults

    public boolean getMoreResults​(int current)
                           throws java.sql.SQLException

Specified by:
  `getMoreResults` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getGeneratedKeys

    public java.sql.ResultSet getGeneratedKeys​()
                                        throws java.sql.SQLException

Specified by:
  `getGeneratedKeys` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### executeUpdate

    public int executeUpdate​(java.lang.String sql,
                             int autoGeneratedKeys)
                      throws java.sql.SQLException

Specified by:
  `executeUpdate` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### executeUpdate

    public int executeUpdate​(java.lang.String sql,
                             int[] columnIndexes)
                      throws java.sql.SQLException

Specified by:
  `executeUpdate` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### executeUpdate

    public int executeUpdate​(java.lang.String sql,
                             java.lang.String[] columnNames)
                      throws java.sql.SQLException

Specified by:
  `executeUpdate` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### execute

    public boolean execute​(java.lang.String sql,
                           int autoGeneratedKeys)
                    throws java.sql.SQLException

Specified by:
  `execute` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### execute

    public boolean execute​(java.lang.String sql,
                           int[] columnIndexes)
                    throws java.sql.SQLException

Specified by:
  `execute` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### execute

    public boolean execute​(java.lang.String sql,
                           java.lang.String[] columnNames)
                    throws java.sql.SQLException

Specified by:
  `execute` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### getResultSetHoldability

    public int getResultSetHoldability​()
                                throws java.sql.SQLException

Specified by:
  `getResultSetHoldability` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### isClosed

    public boolean isClosed​()
                     throws java.sql.SQLException

Specified by:
  `isClosed` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### setPoolable

    public void setPoolable​(boolean poolable)
                     throws java.sql.SQLException

Specified by:
  `setPoolable` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### isPoolable

    public boolean isPoolable​()
                       throws java.sql.SQLException

Specified by:
  `isPoolable` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### unwrap

    public <T> T unwrap​(java.lang.Class<T> iface)
                 throws java.sql.SQLException

Specified by:
  `unwrap` in interface `java.sql.Wrapper`
Throws:
  `java.sql.SQLException`

#### isWrapperFor

    public boolean isWrapperFor​(java.lang.Class<?> iface)
                         throws java.sql.SQLException

Specified by:
  `isWrapperFor` in interface `java.sql.Wrapper`
Throws:
  `java.sql.SQLException`

#### closeOnCompletion

    public void closeOnCompletion​()
                           throws java.sql.SQLException

Specified by:
  `closeOnCompletion` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### isCloseOnCompletion

    public boolean isCloseOnCompletion​()
                                throws java.sql.SQLException

Specified by:
  `isCloseOnCompletion` in interface `java.sql.Statement`
Throws:
  `java.sql.SQLException`

#### check_close

    protected void check_close​()
                        throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### addObjToClose

    protected void addObjToClose​(java.lang.Object obj)

#### removeObjFromClose

    protected void removeObjFromClose​(java.lang.Object obj)