org.springframework.jdbc.core

## Class SqlInOutParameter

- java.lang.Object
- - org.springframework.jdbc.core.SqlParameter
  - - org.springframework.jdbc.core.ResultSetSupportingSqlParameter
    - - org.springframework.jdbc.core.SqlOutParameter
      - - org.springframework.jdbc.core.SqlInOutParameter

-     public class SqlInOutParameter
      extends SqlOutParameter

  Subclass of `SqlOutParameter` to represent an INOUT parameter. Will return `true` for SqlParameter's `isInputValueProvided()` test, in contrast to a standard SqlOutParameter.

  Output parameters - like all stored procedure parameters - must have names.

  Since:
    2.0
  Author:
    Thomas Risberg, Juergen Hoeller

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SqlInOutParameter(String name, int sqlType)` Create a new SqlInOutParameter.
    `SqlInOutParameter(String name, int sqlType, int scale)` Create a new SqlInOutParameter.
    `SqlInOutParameter(String name, int sqlType, ResultSetExtractor rse)` Create a new SqlInOutParameter.
    `SqlInOutParameter(String name, int sqlType, RowCallbackHandler rch)` Create a new SqlInOutParameter.
    `SqlInOutParameter(String name, int sqlType, RowMapper rm)` Create a new SqlInOutParameter.
    `SqlInOutParameter(String name, int sqlType, String typeName)` Create a new SqlInOutParameter.
    `SqlInOutParameter(String name, int sqlType, String typeName, SqlReturnType sqlReturnType)` Create a new SqlInOutParameter.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isInputValueProvided()` This implementation always returns `true`.

    - ### Methods inherited from class org.springframework.jdbc.core.SqlOutParameter

      `getSqlReturnType, isReturnTypeSupported`

    - ### Methods inherited from class org.springframework.jdbc.core.ResultSetSupportingSqlParameter

      `getResultSetExtractor, getRowCallbackHandler, getRowMapper, isResultSetSupported`

    - ### Methods inherited from class org.springframework.jdbc.core.SqlParameter

      `getName, getScale, getSqlType, getTypeName, isResultsParameter, sqlTypesToAnonymousParameterList`

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

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

- - ### Constructor Detail

    - #### SqlInOutParameter

          public SqlInOutParameter(String name,
                           int sqlType)

      Create a new SqlInOutParameter.
      Parameters:
        `name` - name of the parameter, as used in input and output maps
        `sqlType` - SQL type of the parameter according to java.sql.Types

    - #### SqlInOutParameter

          public SqlInOutParameter(String name,
                           int sqlType,
                           int scale)

      Create a new SqlInOutParameter.
      Parameters:
        `name` - name of the parameter, as used in input and output maps
        `sqlType` - SQL type of the parameter according to java.sql.Types
        `scale` - the number of digits after the decimal point (for DECIMAL and NUMERIC types)

    - #### SqlInOutParameter

          public SqlInOutParameter(String name,
                           int sqlType,
                           String typeName)

      Create a new SqlInOutParameter.
      Parameters:
        `name` - name of the parameter, as used in input and output maps
        `sqlType` - SQL type of the parameter according to java.sql.Types
        `typeName` - the type name of the parameter (optional)

    - #### SqlInOutParameter

          public SqlInOutParameter(String name,
                           int sqlType,
                           String typeName,
                           SqlReturnType sqlReturnType)

      Create a new SqlInOutParameter.
      Parameters:
        `name` - name of the parameter, as used in input and output maps
        `sqlType` - SQL type of the parameter according to java.sql.Types
        `typeName` - the type name of the parameter (optional)
        `sqlReturnType` - custom value handler for complex type (optional)

    - #### SqlInOutParameter

          public SqlInOutParameter(String name,
                           int sqlType,
                           ResultSetExtractor rse)

      Create a new SqlInOutParameter.
      Parameters:
        `name` - name of the parameter, as used in input and output maps
        `sqlType` - SQL type of the parameter according to java.sql.Types
        `rse` - ResultSetExtractor to use for parsing the ResultSet

    - #### SqlInOutParameter

          public SqlInOutParameter(String name,
                           int sqlType,
                           RowCallbackHandler rch)

      Create a new SqlInOutParameter.
      Parameters:
        `name` - name of the parameter, as used in input and output maps
        `sqlType` - SQL type of the parameter according to java.sql.Types
        `rch` - RowCallbackHandler to use for parsing the ResultSet

    - #### SqlInOutParameter

          public SqlInOutParameter(String name,
                           int sqlType,
                           RowMapper rm)

      Create a new SqlInOutParameter.
      Parameters:
        `name` - name of the parameter, as used in input and output maps
        `sqlType` - SQL type of the parameter according to java.sql.Types
        `rm` - RowMapper to use for parsing the ResultSet

  - ### Method Detail

    - #### isInputValueProvided

          public boolean isInputValueProvided()

      This implementation always returns `true`.
      Overrides:
        `isInputValueProvided` in class `ResultSetSupportingSqlParameter`