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

  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 Details

  - ### 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 Details

  - ### 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`