Package org.apache.tomcat.dbcp.dbcp2

## Class PStmtKey

- java.lang.Object
- - org.apache.tomcat.dbcp.dbcp2.PStmtKey

Direct Known Subclasses:
  `PStmtKeyCPDS`

    public class PStmtKey
    extends java.lang.Object

A key uniquely identifying `PreparedStatement`s.

Since:
  2.0

### Constructor Summary

Constructors
`PStmtKey​(java.lang.String sql)` Deprecated. Use `PStmtKey(String, String, String)`.
`PStmtKey​(java.lang.String sql, int resultSetType, int resultSetConcurrency)` Deprecated. Use `PStmtKey(String, String, String, int, int)`.
`PStmtKey​(java.lang.String sql, java.lang.String catalog)` Deprecated. Use `PStmtKey(String, String, String)`.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, int autoGeneratedKeys)` Deprecated. Use `PStmtKey(String, String, String, int)`.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, int[] columnIndexes)` Deprecated. Use `PStmtKey(String, String, String, int[])`.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, int resultSetType, int resultSetConcurrency)` Deprecated. Use @link `PStmtKey(String, String, String, int, int)`.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, int resultSetType, int resultSetConcurrency, int resultSetHoldability)` Deprecated. Use `PStmtKey(String, String, String, int, int, int)`.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, int resultSetType, int resultSetConcurrency, int resultSetHoldability, PoolingConnection.StatementType statementType)` Deprecated. Use `PStmtKey(String, String, String, int, int, int, PoolingConnection.StatementType)`
`PStmtKey​(java.lang.String sql, java.lang.String catalog, int resultSetType, int resultSetConcurrency, PoolingConnection.StatementType statementType)` Deprecated. Use `PStmtKey(String, String, String, int, int, PoolingConnection.StatementType)`.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, java.lang.String schema)` Constructs a key to uniquely identify a prepared statement.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, java.lang.String[] columnNames)` Deprecated. Use `PStmtKey(String, String, String, String[])`.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, java.lang.String schema, int autoGeneratedKeys)` Constructs a key to uniquely identify a prepared statement.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, java.lang.String schema, int[] columnIndexes)` Constructs a key to uniquely identify a prepared statement.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, java.lang.String schema, int resultSetType, int resultSetConcurrency)` Constructs a key to uniquely identify a prepared statement.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, java.lang.String schema, int resultSetType, int resultSetConcurrency, int resultSetHoldability)` Constructs a key to uniquely identify a prepared statement.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, java.lang.String schema, int resultSetType, int resultSetConcurrency, int resultSetHoldability, PoolingConnection.StatementType statementType)` Constructs a key to uniquely identify a prepared statement.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, java.lang.String schema, int resultSetType, int resultSetConcurrency, PoolingConnection.StatementType statementType)` Constructs a key to uniquely identify a prepared statement.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, java.lang.String schema, java.lang.String[] columnNames)` Constructs a key to uniquely identify a prepared statement.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, java.lang.String schema, PoolingConnection.StatementType statementType)` Constructs a key to uniquely identify a prepared statement.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, java.lang.String schema, PoolingConnection.StatementType statementType, java.lang.Integer autoGeneratedKeys)` Constructs a key to uniquely identify a prepared statement.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, PoolingConnection.StatementType statementType)` Deprecated. Use `PStmtKey(String, String, String, PoolingConnection.StatementType)`.
`PStmtKey​(java.lang.String sql, java.lang.String catalog, PoolingConnection.StatementType statementType, java.lang.Integer autoGeneratedKeys)` Deprecated. Use `PStmtKey(String, String, String, PoolingConnection.StatementType, Integer)`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.sql.Statement` `createStatement​(java.sql.Connection connection)` Creates a new Statement from the given Connection.
`boolean` `equals​(java.lang.Object obj)`
`java.lang.Integer` `getAutoGeneratedKeys()` Gets a flag indicating whether auto-generated keys should be returned; one of `Statement.RETURN_GENERATED_KEYS` or `Statement.NO_GENERATED_KEYS`.
`java.lang.String` `getCatalog()` The catalog.
`int[]` `getColumnIndexes()` Gets an array of column indexes indicating the columns that should be returned from the inserted row or rows.
`java.lang.String[]` `getColumnNames()` Gets an array of column names indicating the columns that should be returned from the inserted row or rows.
`java.lang.Integer` `getResultSetConcurrency()` Gets the result set concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.
`java.lang.Integer` `getResultSetHoldability()` Gets the result set holdability, one of the following `ResultSet` constants: `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`.
`java.lang.Integer` `getResultSetType()` Gets the result set type, one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
`java.lang.String` `getSchema()` The schema.
`java.lang.String` `getSql()` Gets the SQL statement.
`PoolingConnection.StatementType` `getStmtType()` The SQL statement type.
`int` `hashCode()`
`java.lang.String` `toString()`

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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### PStmtKey

    @Deprecated
    public PStmtKey​(java.lang.String sql)

Deprecated.
Use `PStmtKey(String, String, String)`.
Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.

#### PStmtKey

    @Deprecated
    public PStmtKey​(java.lang.String sql,
                    int resultSetType,
                    int resultSetConcurrency)

Deprecated.
Use `PStmtKey(String, String, String, int, int)`.
Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `resultSetType` - A result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
  `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.

#### PStmtKey

    @Deprecated
    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog)

Deprecated.
Use `PStmtKey(String, String, String)`.
Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.

#### PStmtKey

    @Deprecated
    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    int autoGeneratedKeys)

Deprecated.
Use `PStmtKey(String, String, String, int)`.
Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `autoGeneratedKeys` - A flag indicating whether auto-generated keys should be returned; one of `Statement.RETURN_GENERATED_KEYS` or `Statement.NO_GENERATED_KEYS`.

#### PStmtKey

    @Deprecated
    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    int resultSetType,
                    int resultSetConcurrency)

Deprecated.
Use @link `PStmtKey(String, String, String, int, int)`.
Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `resultSetType` - A result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
  `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.

#### PStmtKey

    @Deprecated
    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    int resultSetType,
                    int resultSetConcurrency,
                    int resultSetHoldability)

Deprecated.
Use `PStmtKey(String, String, String, int, int, int)`.
Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `resultSetType` - a result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
  `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`
  `resultSetHoldability` - One of the following `ResultSet` constants: `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`.

#### PStmtKey

    @Deprecated
    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    int resultSetType,
                    int resultSetConcurrency,
                    int resultSetHoldability,
                    PoolingConnection.StatementType statementType)

Deprecated.
Use `PStmtKey(String, String, String, int, int, int, PoolingConnection.StatementType)`
Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `resultSetType` - a result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`
  `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.
  `resultSetHoldability` - One of the following `ResultSet` constants: `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`.
  `statementType` - The SQL statement type, prepared or callable.

#### PStmtKey

    @Deprecated
    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    int resultSetType,
                    int resultSetConcurrency,
                    PoolingConnection.StatementType statementType)

Deprecated.
Use `PStmtKey(String, String, String, int, int, PoolingConnection.StatementType)`.
Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `resultSetType` - A result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
  `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.
  `statementType` - The SQL statement type, prepared or callable.

#### PStmtKey

    @Deprecated
    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    int[] columnIndexes)

Deprecated.
Use `PStmtKey(String, String, String, int[])`.
Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `columnIndexes` - An array of column indexes indicating the columns that should be returned from the inserted row or rows.

#### PStmtKey

    @Deprecated
    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    PoolingConnection.StatementType statementType)

Deprecated.
Use `PStmtKey(String, String, String, PoolingConnection.StatementType)`.
Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `statementType` - The SQL statement type, prepared or callable.

#### PStmtKey

    @Deprecated
    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    PoolingConnection.StatementType statementType,
                    java.lang.Integer autoGeneratedKeys)

Deprecated.
Use `PStmtKey(String, String, String, PoolingConnection.StatementType, Integer)`
Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `statementType` - The SQL statement type, prepared or callable.
  `autoGeneratedKeys` - A flag indicating whether auto-generated keys should be returned; one of `Statement.RETURN_GENERATED_KEYS` or `Statement.NO_GENERATED_KEYS`.

#### PStmtKey

    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    java.lang.String schema)

Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `schema` - The schema
Since:
  2.5.0

#### PStmtKey

    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    java.lang.String schema,
                    int autoGeneratedKeys)

Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `schema` - The schema
  `autoGeneratedKeys` - A flag indicating whether auto-generated keys should be returned; one of `Statement.RETURN_GENERATED_KEYS` or `Statement.NO_GENERATED_KEYS`.
Since:
  2.5.0

#### PStmtKey

    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    java.lang.String schema,
                    int resultSetType,
                    int resultSetConcurrency)

Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `schema` - The schema
  `resultSetType` - A result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
  `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.

#### PStmtKey

    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    java.lang.String schema,
                    int resultSetType,
                    int resultSetConcurrency,
                    int resultSetHoldability)

Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `schema` - The schema
  `resultSetType` - a result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
  `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`
  `resultSetHoldability` - One of the following `ResultSet` constants: `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`.
Since:
  2.5.0

#### PStmtKey

    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    java.lang.String schema,
                    int resultSetType,
                    int resultSetConcurrency,
                    int resultSetHoldability,
                    PoolingConnection.StatementType statementType)

Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `schema` - The schema.
  `resultSetType` - a result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`
  `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.
  `resultSetHoldability` - One of the following `ResultSet` constants: `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`.
  `statementType` - The SQL statement type, prepared or callable.
Since:
  2.5.0

#### PStmtKey

    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    java.lang.String schema,
                    int resultSetType,
                    int resultSetConcurrency,
                    PoolingConnection.StatementType statementType)

Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `schema` - The schema.
  `resultSetType` - A result set type; one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.
  `resultSetConcurrency` - A concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.
  `statementType` - The SQL statement type, prepared or callable.
Since:
  2.5.0

#### PStmtKey

    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    java.lang.String schema,
                    int[] columnIndexes)

Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `schema` - The schema.
  `columnIndexes` - An array of column indexes indicating the columns that should be returned from the inserted row or rows.

#### PStmtKey

    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    java.lang.String schema,
                    PoolingConnection.StatementType statementType)

Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `schema` - The schema.
  `statementType` - The SQL statement type, prepared or callable.
Since:
  2.5.0

#### PStmtKey

    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    java.lang.String schema,
                    PoolingConnection.StatementType statementType,
                    java.lang.Integer autoGeneratedKeys)

Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `schema` - The schema.
  `statementType` - The SQL statement type, prepared or callable.
  `autoGeneratedKeys` - A flag indicating whether auto-generated keys should be returned; one of `Statement.RETURN_GENERATED_KEYS` or `Statement.NO_GENERATED_KEYS`.
Since:
  2.5.0

#### PStmtKey

    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    java.lang.String schema,
                    java.lang.String[] columnNames)

Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `schema` - The schema.
  `columnNames` - An array of column names indicating the columns that should be returned from the inserted row or rows.
Since:
  2.5.0

#### PStmtKey

    @Deprecated
    public PStmtKey​(java.lang.String sql,
                    java.lang.String catalog,
                    java.lang.String[] columnNames)

Deprecated.
Use `PStmtKey(String, String, String, String[])`.
Constructs a key to uniquely identify a prepared statement.

Parameters:
  `sql` - The SQL statement.
  `catalog` - The catalog.
  `columnNames` - An array of column names indicating the columns that should be returned from the inserted row or rows.

### Method Detail

#### createStatement

    public java.sql.Statement createStatement​(java.sql.Connection connection)
                                       throws java.sql.SQLException

Creates a new Statement from the given Connection.

Parameters:
  `connection` - The Connection to use to create the statement.
Returns:
  The statement.
Throws:
  `java.sql.SQLException` - Thrown when there is a problem creating the statement.

#### equals

    public boolean equals​(java.lang.Object obj)

Overrides:
  `equals` in class `java.lang.Object`

#### getAutoGeneratedKeys

    public java.lang.Integer getAutoGeneratedKeys()

Gets a flag indicating whether auto-generated keys should be returned; one of `Statement.RETURN_GENERATED_KEYS` or `Statement.NO_GENERATED_KEYS`.

Returns:
  a flag indicating whether auto-generated keys should be returned.

#### getCatalog

    public java.lang.String getCatalog()

The catalog.

Returns:
  The catalog.

#### getColumnIndexes

    public int[] getColumnIndexes()

Gets an array of column indexes indicating the columns that should be returned from the inserted row or rows.

Returns:
  An array of column indexes.

#### getColumnNames

    public java.lang.String[] getColumnNames()

Gets an array of column names indicating the columns that should be returned from the inserted row or rows.

Returns:
  An array of column names.

#### getResultSetConcurrency

    public java.lang.Integer getResultSetConcurrency()

Gets the result set concurrency type; one of `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`.

Returns:
  The result set concurrency type.

#### getResultSetHoldability

    public java.lang.Integer getResultSetHoldability()

Gets the result set holdability, one of the following `ResultSet` constants: `ResultSet.HOLD_CURSORS_OVER_COMMIT` or `ResultSet.CLOSE_CURSORS_AT_COMMIT`.

Returns:
  The result set holdability.

#### getResultSetType

    public java.lang.Integer getResultSetType()

Gets the result set type, one of `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`.

Returns:
  the result set type.

#### getSchema

    public java.lang.String getSchema()

The schema.

Returns:
  The catalog.

#### getSql

    public java.lang.String getSql()

Gets the SQL statement.

Returns:
  the SQL statement.

#### getStmtType

    public PoolingConnection.StatementType getStmtType()

The SQL statement type.

Returns:
  The SQL statement type.

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`