com.pivotal.gemfirexd.internal.client.am

## Class LogicalCallableStatement

- java.lang.Object
- - com.pivotal.gemfirexd.internal.client.am.LogicalPreparedStatement
  - - com.pivotal.gemfirexd.internal.client.am.LogicalCallableStatement

All Implemented Interfaces:
  AutoCloseable, CallableStatement, PreparedStatement, Statement, Wrapper

Direct Known Subclasses:
  LogicalCallableStatement40

    public abstract class LogicalCallableStatement
    extends LogicalPreparedStatement
    implements CallableStatement

A wrapper class for a physical Derby callable statement.

The idea behind the logical prepared statement is to allow reuse of the physical callable statement. In general the logical entity will forward all calls to the physical entity. A few methods have special implementations, the most important one being `close()`. Each method will check that the logical statement is still open before the call is forwarded to the underlying physical statement.

See Also:
  `LogicalStatementEntity`

### Field Summary

Fields
`protected Agent` `agent` Create a logical entity for a `PreparedStatement`.

### 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
Constructor and Description
`LogicalCallableStatement(Agent agent, CallableStatement physicalCs, StatementKey stmtKey, StatementCacheInteractor cacheInteractor)` Creates a new logical callable statement.

### Method Summary

Methods
`void` `close()` Close the logical statement.
`Array` `getArray(int i)`
`Array` `getArray(String parameterName)`
`BigDecimal` `getBigDecimal(int parameterIndex)`
`BigDecimal` `getBigDecimal(int parameterIndex, int scale)`
`BigDecimal` `getBigDecimal(String parameterName)`
`Blob` `getBlob(int i)`
`Blob` `getBlob(String parameterName)`
`boolean` `getBoolean(int parameterIndex)`
`boolean` `getBoolean(String parameterName)`
`byte` `getByte(int parameterIndex)`
`byte` `getByte(String parameterName)`
`byte[]` `getBytes(int parameterIndex)`
`byte[]` `getBytes(String parameterName)`
`Clob` `getClob(int i)`
`Clob` `getClob(String parameterName)`
`Date` `getDate(int parameterIndex)`
`Date` `getDate(int parameterIndex, Calendar cal)`
`Date` `getDate(String parameterName)`
`Date` `getDate(String parameterName, Calendar cal)`
`double` `getDouble(int parameterIndex)`
`double` `getDouble(String parameterName)`
`float` `getFloat(int parameterIndex)`
`float` `getFloat(String parameterName)`
`int` `getInt(int parameterIndex)`
`int` `getInt(String parameterName)`
`long` `getLong(int parameterIndex)`
`long` `getLong(String parameterName)`
`Object` `getObject(int parameterIndex)`
`Object` `getObject(int i, Map map)`
`Object` `getObject(String parameterName)`
`Object` `getObject(String parameterName, Map map)`
`Ref` `getRef(int i)`
`Ref` `getRef(String parameterName)`
`short` `getShort(int parameterIndex)`
`short` `getShort(String parameterName)`
`String` `getString(int parameterIndex)`
`String` `getString(String parameterName)`
`Time` `getTime(int parameterIndex)`
`Time` `getTime(int parameterIndex, Calendar cal)`
`Time` `getTime(String parameterName)`
`Time` `getTime(String parameterName, Calendar cal)`
`Timestamp` `getTimestamp(int parameterIndex)`
`Timestamp` `getTimestamp(int parameterIndex, Calendar cal)`
`Timestamp` `getTimestamp(String parameterName)`
`Timestamp` `getTimestamp(String parameterName, Calendar cal)`
`URL` `getURL(int parameterIndex)`
`URL` `getURL(String parameterName)`
`void` `registerOutParameter(int parameterIndex, int sqlType)`
`void` `registerOutParameter(int parameterIndex, int sqlType, int scale)`
`void` `registerOutParameter(int paramIndex, int sqlType, String typeName)`
`void` `registerOutParameter(String parameterName, int sqlType)`
`void` `registerOutParameter(String parameterName, int sqlType, int scale)`
`void` `registerOutParameter(String parameterName, int sqlType, String typeName)`
`void` `setAsciiStream(String parameterName, InputStream x, int length)`
`void` `setBigDecimal(String parameterName, BigDecimal x)`
`void` `setBinaryStream(String parameterName, InputStream x, int length)`
`void` `setBoolean(String parameterName, boolean x)`
`void` `setByte(String parameterName, byte x)`
`void` `setBytes(String parameterName, byte[] x)`
`void` `setCharacterStream(String parameterName, Reader reader, int length)`
`void` `setDate(String parameterName, Date x)`
`void` `setDate(String parameterName, Date x, Calendar cal)`
`void` `setDouble(String parameterName, double x)`
`void` `setFloat(String parameterName, float x)`
`void` `setInt(String parameterName, int x)`
`void` `setLong(String parameterName, long x)`
`void` `setNull(String parameterName, int sqlType)`
`void` `setNull(String parameterName, int sqlType, String typeName)`
`void` `setObject(String parameterName, Object x)`
`void` `setObject(String parameterName, Object x, int targetSqlType)`
`void` `setObject(String parameterName, Object x, int targetSqlType, int scale)`
`void` `setShort(String parameterName, short x)`
`void` `setString(String parameterName, String x)`
`void` `setTime(String parameterName, Time x)`
`void` `setTime(String parameterName, Time x, Calendar cal)`
`void` `setTimestamp(String parameterName, Timestamp x)`
`void` `setTimestamp(String parameterName, Timestamp x, Calendar cal)`
`void` `setURL(String parameterName, URL val)`
`boolean` `wasNull()`

### Methods inherited from class com.pivotal.gemfirexd.internal.client.am.LogicalPreparedStatement

`addBatch, addBatch, cancel, clearBatch, clearParameters, clearWarnings, execute, execute, execute, execute, execute, executeBatch, executeQuery, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMetaData, getMoreResults, getMoreResults, getParameterMetaData, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, setArray, setAsciiStream, setBigDecimal, setBinaryStream, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setClob, setCursorName, setDate, setDate, setDouble, setEscapeProcessing, setFetchDirection, setFetchSize, setFloat, setInt, setLong, setMaxFieldSize, setMaxRows, setNull, setNull, setObject, setObject, setObject, setQueryTimeout, setRef, setShort, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL`

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

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

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

`getCharacterStream, getCharacterStream, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getRowId, getRowId, getSQLXML, getSQLXML, setAsciiStream, setAsciiStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setRowId, setSQLXML`

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

`addBatch, clearParameters, execute, executeQuery, executeUpdate, getMetaData, getParameterMetaData, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL`

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

`addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, execute, execute, execute, execute, executeBatch, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

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

`isWrapperFor, unwrap`

### Field Detail

#### agent

    protected final Agent agent

Create a logical entity for a `PreparedStatement`.

### Constructor Detail

#### LogicalCallableStatement

    public LogicalCallableStatement(Agent agent,
                            CallableStatement physicalCs,
                            StatementKey stmtKey,
                            StatementCacheInteractor cacheInteractor)

Creates a new logical callable statement.

Parameters:
  `physicalCs` - underlying physical statement
  `stmtKey` - key for the physical statement
  `cacheInteractor` - creating statement cache interactor
Throws:
  `IllegalArgumentException` - if `cache` is `null`

### Method Detail

#### wasNull

    public boolean wasNull()
                    throws SQLException

Specified by:
  `wasNull` in interface `CallableStatement`
Throws:
  `SQLException`

#### getByte

    public byte getByte(int parameterIndex)
                 throws SQLException

Specified by:
  `getByte` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDouble

    public double getDouble(int parameterIndex)
                     throws SQLException

Specified by:
  `getDouble` in interface `CallableStatement`
Throws:
  `SQLException`

#### getFloat

    public float getFloat(int parameterIndex)
                   throws SQLException

Specified by:
  `getFloat` in interface `CallableStatement`
Throws:
  `SQLException`

#### getInt

    public int getInt(int parameterIndex)
               throws SQLException

Specified by:
  `getInt` in interface `CallableStatement`
Throws:
  `SQLException`

#### getLong

    public long getLong(int parameterIndex)
                 throws SQLException

Specified by:
  `getLong` in interface `CallableStatement`
Throws:
  `SQLException`

#### getShort

    public short getShort(int parameterIndex)
                   throws SQLException

Specified by:
  `getShort` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBoolean

    public boolean getBoolean(int parameterIndex)
                       throws SQLException

Specified by:
  `getBoolean` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBytes

    public byte[] getBytes(int parameterIndex)
                    throws SQLException

Specified by:
  `getBytes` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(int parameterIndex,
                            int sqlType)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(int parameterIndex,
                            int sqlType,
                            int scale)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public Object getObject(int parameterIndex)
                     throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getString

    public String getString(int parameterIndex)
                     throws SQLException

Specified by:
  `getString` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(int paramIndex,
                            int sqlType,
                            String typeName)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### getByte

    public byte getByte(String parameterName)
                 throws SQLException

Specified by:
  `getByte` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDouble

    public double getDouble(String parameterName)
                     throws SQLException

Specified by:
  `getDouble` in interface `CallableStatement`
Throws:
  `SQLException`

#### getFloat

    public float getFloat(String parameterName)
                   throws SQLException

Specified by:
  `getFloat` in interface `CallableStatement`
Throws:
  `SQLException`

#### getInt

    public int getInt(String parameterName)
               throws SQLException

Specified by:
  `getInt` in interface `CallableStatement`
Throws:
  `SQLException`

#### getLong

    public long getLong(String parameterName)
                 throws SQLException

Specified by:
  `getLong` in interface `CallableStatement`
Throws:
  `SQLException`

#### getShort

    public short getShort(String parameterName)
                   throws SQLException

Specified by:
  `getShort` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBoolean

    public boolean getBoolean(String parameterName)
                       throws SQLException

Specified by:
  `getBoolean` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBytes

    public byte[] getBytes(String parameterName)
                    throws SQLException

Specified by:
  `getBytes` in interface `CallableStatement`
Throws:
  `SQLException`

#### setByte

    public void setByte(String parameterName,
               byte x)
                 throws SQLException

Specified by:
  `setByte` in interface `CallableStatement`
Throws:
  `SQLException`

#### setDouble

    public void setDouble(String parameterName,
                 double x)
                   throws SQLException

Specified by:
  `setDouble` in interface `CallableStatement`
Throws:
  `SQLException`

#### setFloat

    public void setFloat(String parameterName,
                float x)
                  throws SQLException

Specified by:
  `setFloat` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(String parameterName,
                            int sqlType)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### setInt

    public void setInt(String parameterName,
              int x)
                throws SQLException

Specified by:
  `setInt` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNull

    public void setNull(String parameterName,
               int sqlType)
                 throws SQLException

Specified by:
  `setNull` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(String parameterName,
                            int sqlType,
                            int scale)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### setLong

    public void setLong(String parameterName,
               long x)
                 throws SQLException

Specified by:
  `setLong` in interface `CallableStatement`
Throws:
  `SQLException`

#### setShort

    public void setShort(String parameterName,
                short x)
                  throws SQLException

Specified by:
  `setShort` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBoolean

    public void setBoolean(String parameterName,
                  boolean x)
                    throws SQLException

Specified by:
  `setBoolean` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBytes

    public void setBytes(String parameterName,
                byte[] x)
                  throws SQLException

Specified by:
  `setBytes` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBigDecimal

    public BigDecimal getBigDecimal(int parameterIndex)
                             throws SQLException

Specified by:
  `getBigDecimal` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBigDecimal

    public BigDecimal getBigDecimal(int parameterIndex,
                           int scale)
                             throws SQLException

Specified by:
  `getBigDecimal` in interface `CallableStatement`
Throws:
  `SQLException`

#### getURL

    public URL getURL(int parameterIndex)
               throws SQLException

Specified by:
  `getURL` in interface `CallableStatement`
Throws:
  `SQLException`

#### getArray

    public Array getArray(int i)
                   throws SQLException

Specified by:
  `getArray` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBlob

    public Blob getBlob(int i)
                 throws SQLException

Specified by:
  `getBlob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getClob

    public Clob getClob(int i)
                 throws SQLException

Specified by:
  `getClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDate

    public Date getDate(int parameterIndex)
                 throws SQLException

Specified by:
  `getDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### getRef

    public Ref getRef(int i)
               throws SQLException

Specified by:
  `getRef` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTime

    public Time getTime(int parameterIndex)
                 throws SQLException

Specified by:
  `getTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTimestamp

    public Timestamp getTimestamp(int parameterIndex)
                           throws SQLException

Specified by:
  `getTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream(String parameterName,
                      InputStream x,
                      int length)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream(String parameterName,
                       InputStream x,
                       int length)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream(String parameterName,
                          Reader reader,
                          int length)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public Object getObject(String parameterName)
                     throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject(String parameterName,
                 Object x)
                   throws SQLException

Specified by:
  `setObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject(String parameterName,
                 Object x,
                 int targetSqlType)
                   throws SQLException

Specified by:
  `setObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject(String parameterName,
                 Object x,
                 int targetSqlType,
                 int scale)
                   throws SQLException

Specified by:
  `setObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public Object getObject(int i,
                   Map map)
                     throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getString

    public String getString(String parameterName)
                     throws SQLException

Specified by:
  `getString` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(String parameterName,
                            int sqlType,
                            String typeName)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNull

    public void setNull(String parameterName,
               int sqlType,
               String typeName)
                 throws SQLException

Specified by:
  `setNull` in interface `CallableStatement`
Throws:
  `SQLException`

#### setString

    public void setString(String parameterName,
                 String x)
                   throws SQLException

Specified by:
  `setString` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBigDecimal

    public BigDecimal getBigDecimal(String parameterName)
                             throws SQLException

Specified by:
  `getBigDecimal` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBigDecimal

    public void setBigDecimal(String parameterName,
                     BigDecimal x)
                       throws SQLException

Specified by:
  `setBigDecimal` in interface `CallableStatement`
Throws:
  `SQLException`

#### getURL

    public URL getURL(String parameterName)
               throws SQLException

Specified by:
  `getURL` in interface `CallableStatement`
Throws:
  `SQLException`

#### setURL

    public void setURL(String parameterName,
              URL val)
                throws SQLException

Specified by:
  `setURL` in interface `CallableStatement`
Throws:
  `SQLException`

#### getArray

    public Array getArray(String parameterName)
                   throws SQLException

Specified by:
  `getArray` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBlob

    public Blob getBlob(String parameterName)
                 throws SQLException

Specified by:
  `getBlob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getClob

    public Clob getClob(String parameterName)
                 throws SQLException

Specified by:
  `getClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDate

    public Date getDate(String parameterName)
                 throws SQLException

Specified by:
  `getDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### setDate

    public void setDate(String parameterName,
               Date x)
                 throws SQLException

Specified by:
  `setDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDate

    public Date getDate(int parameterIndex,
               Calendar cal)
                 throws SQLException

Specified by:
  `getDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### getRef

    public Ref getRef(String parameterName)
               throws SQLException

Specified by:
  `getRef` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTime

    public Time getTime(String parameterName)
                 throws SQLException

Specified by:
  `getTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTime

    public void setTime(String parameterName,
               Time x)
                 throws SQLException

Specified by:
  `setTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTime

    public Time getTime(int parameterIndex,
               Calendar cal)
                 throws SQLException

Specified by:
  `getTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTimestamp

    public Timestamp getTimestamp(String parameterName)
                           throws SQLException

Specified by:
  `getTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTimestamp

    public void setTimestamp(String parameterName,
                    Timestamp x)
                      throws SQLException

Specified by:
  `setTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTimestamp

    public Timestamp getTimestamp(int parameterIndex,
                         Calendar cal)
                           throws SQLException

Specified by:
  `getTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public Object getObject(String parameterName,
                   Map map)
                     throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDate

    public Date getDate(String parameterName,
               Calendar cal)
                 throws SQLException

Specified by:
  `getDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTime

    public Time getTime(String parameterName,
               Calendar cal)
                 throws SQLException

Specified by:
  `getTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTimestamp

    public Timestamp getTimestamp(String parameterName,
                         Calendar cal)
                           throws SQLException

Specified by:
  `getTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### setDate

    public void setDate(String parameterName,
               Date x,
               Calendar cal)
                 throws SQLException

Specified by:
  `setDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTime

    public void setTime(String parameterName,
               Time x,
               Calendar cal)
                 throws SQLException

Specified by:
  `setTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTimestamp

    public void setTimestamp(String parameterName,
                    Timestamp x,
                    Calendar cal)
                      throws SQLException

Specified by:
  `setTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### close

    public void close()
               throws SQLException

Close the logical statement.

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Statement`
Throws:
  `SQLException` - if closing the statement fails