Package org.apache.commons.dbutils

## Class OutParameter<T>

- java.lang.Object
- - org.apache.commons.dbutils.OutParameter<T>

- Type Parameters:
    `T` - the class of the parameter; should be compatible via cast with the class returned by the `CallableStatement.getObject(int)` method.

      public class OutParameter<T>
      extends Object

  Represents an OUT parameter for a stored procedure. When running a stored procedure with `QueryRunner`, pass an instance of `OutParameter` to indicate that the parameter at that index is an OUT parameter. The value of the parameter may be obtained from the `OutParameter` instance via `getValue()`.

  INOUT parameters are also supported by setting the `value` of the `OutParameter` instance before invoking the stored procedure.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `OutParameter​(int sqlType, Class<T> javaType)` | Construct an `OutParameter` for the given JDBC SQL type and Java type.
    `OutParameter​(int sqlType, Class<T> javaType, T value)` | Construct an `OutParameter` for the given JDBC SQL type and Java type and with the given value.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Class<T>` | `getJavaType()` | Get the Java class for this OUT parameter.
    `int` | `getSqlType()` | Get the JDBC SQL type for this OUT parameter.
    `T` | `getValue()` | Get the value of the OUT parameter.
    `void` | `setValue​(T value)` | Set the value of the OUT parameter.
    `String` | `toString()` |

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

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

- - ### Constructor Detail

    - #### OutParameter

          public OutParameter​(int sqlType,
                              Class<T> javaType)

      Construct an `OutParameter` for the given JDBC SQL type and Java type.
      Parameters:
        `sqlType` - the JDBC SQL type of the parameter as in `java.sql.Types`.
        `javaType` - the Java class of the parameter value, cast compatible with the type returned by `CallableStatement.getObject(int)` for the JDBC type given by `sqlType`.

    - #### OutParameter

          public OutParameter​(int sqlType,
                              Class<T> javaType,
                              T value)

      Construct an `OutParameter` for the given JDBC SQL type and Java type and with the given value. The parameter will be treated as an INOUT parameter if the value is null.
      Parameters:
        `sqlType` - the JDBC SQL type of the parameter as in `java.sql.Types`.
        `javaType` - the Java class of the parameter value, cast compatible with the type returned by `CallableStatement.getObject(int)` for the JDBC type given by `sqlType`.
        `value` - the IN value of the parameter

  - ### Method Detail

    - #### getJavaType

          public Class<T> getJavaType()

      Get the Java class for this OUT parameter.
      Returns:
        the Java class for this OUT parameter.

    - #### getSqlType

          public int getSqlType()

      Get the JDBC SQL type for this OUT parameter.
      Returns:
        the JDBC SQL type for this OUT parameter.

    - #### getValue

          public T getValue()

      Get the value of the OUT parameter. After the stored procedure has been executed, the value is the value returned via this parameter.
      Returns:
        the value of the OUT parameter.

    - #### setValue

          public void setValue​(T value)

      Set the value of the OUT parameter. If the value is not null when the stored procedure is executed, then the parameter will be treated like an INOUT parameter.
      Parameters:
        `value` - the new value for the parameter.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`