## org.springframework.jdbc.core
Interface SqlReturnType

    public interface SqlReturnType

Interface to be implemented for retrieving values for more complex database-specific types not supported by the standard `CallableStatement.getObject` method.

Implementations perform the actual work of getting the actual values. They must implement the callback method `getTypeValue` which can throw SQLExceptions that will be caught and translated by the calling code. This callback method has access to the underlying Connection via the given CallableStatement object, if that should be needed to create any database-specific objects.

Since:
  1.1
Author:
  Thomas Risberg
See Also:
  `Types`, `CallableStatement.getObject(int)`, `StoredProcedure.execute(java.util.Map)`

Field Summary
`static int` `TYPE_UNKNOWN` Constant that indicates an unknown (or unspecified) SQL type.

Method Summary
`Object` `getTypeValue(CallableStatement cs, int paramIndex, int sqlType, String typeName)` Get the type value from the specific object.

Field Detail

### TYPE_UNKNOWN

    static final int TYPE_UNKNOWN

  Constant that indicates an unknown (or unspecified) SQL type. Passed into setTypeValue if the original operation method does not specify a SQL type.

  See Also:
    `Types`, `JdbcOperations.update(String, Object[])`, Constant Field Values

Method Detail

### getTypeValue

    Object getTypeValue(CallableStatement cs,
                        int paramIndex,
                        int sqlType,
                        String typeName)
                        throws SQLException

  Get the type value from the specific object.

  Parameters:
    `cs` - the CallableStatement to operate on
    `paramIndex` - the index of the parameter for which we need to set the value
    `sqlType` - SQL type of the parameter we are setting
    `typeName` - the type name of the parameter
  Returns:
    the target value
  Throws:
    `SQLException` - if a SQLException is encountered setting parameter values (that is, there's no need to catch SQLException)
  See Also:
    `Types`, `CallableStatement.getObject(int)`