org.springframework.data.jdbc.support.oracle
Class SqlStructValue<T>

java.lang.Object
  extended by org.springframework.jdbc.core.support.AbstractSqlTypeValue
      extended by org.springframework.data.jdbc.support.oracle.SqlStructValue<T>
All Implemented Interfaces:
SqlTypeValue

public class SqlStructValue<T>
extends AbstractSqlTypeValue

Implementation of the SqlTypeValue interface, for convenient creation of type values that to be provided as a STRUCT.

A usage example from a StoredProcedure:

proc.declareParameter(new SqlParameter("actor", OracleTypes.STRUCT, "ACTOR_TYPE"));
 ...

 Map in = new HashMap();
 in.put("myarray", new SqlArrayValue<Actor>(actor);
 Map out = proc.execute(in);
 

Since:
1.0
See Also:
SqlTypeValue, AbstractSqlTypeValue, SimpleJdbcCall, StoredProcedure

Field Summary
protected  org.apache.commons.logging.Log logger
          Logger available to subclasses
 
Fields inherited from interface org.springframework.jdbc.core.SqlTypeValue
TYPE_UNKNOWN
 
Constructor Summary
SqlStructValue(T source)
          Constructor that takes one parameter with the Object value passed in to the stored procedure.
SqlStructValue(T source, String defaultTypeName)
          Constructor that takes two parameters, the Object value passed in to the statement and the default type name to be used when the context where this class is used is not aware of the type name to use.
SqlStructValue(T source, StructMapper mapper)
          Constructor that takes two parameters, the Object value passed in to the statement and the StructMapper to be used
SqlStructValue(T source, StructMapper mapper, String defaultTypeName)
          Constructor that takes three parameters, the Object value passed in to the statement, the StructMapper to be used and the default type name to be used when the context where this class is used is not aware of the type name to use.
 
Method Summary
protected  Object createTypeValue(Connection conn, int sqlType, String typeName)
          The implementation for this specific type.
 
Methods inherited from class org.springframework.jdbc.core.support.AbstractSqlTypeValue
setTypeValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.apache.commons.logging.Log logger
Logger available to subclasses

Constructor Detail

SqlStructValue

public SqlStructValue(T source)
Constructor that takes one parameter with the Object value passed in to the stored procedure.

Parameters:
source - the Object containing the values to be mapped to the STRUCT.

SqlStructValue

public SqlStructValue(T source,
                      String defaultTypeName)
Constructor that takes two parameters, the Object value passed in to the statement and the default type name to be used when the context where this class is used is not aware of the type name to use.

Parameters:
source - the Object containing the values to be mapped to the STRUCT.
defaultTypeName - the default type name.

SqlStructValue

public SqlStructValue(T source,
                      StructMapper mapper)
Constructor that takes two parameters, the Object value passed in to the statement and the StructMapper to be used

Parameters:
source - the Object containing the values to be mapped to the STRUCT.
mapper - the mapper

SqlStructValue

public SqlStructValue(T source,
                      StructMapper mapper,
                      String defaultTypeName)
Constructor that takes three parameters, the Object value passed in to the statement, the StructMapper to be used and the default type name to be used when the context where this class is used is not aware of the type name to use.

Parameters:
source - the Object containing the values to be mapped to the STRUCT.
mapper - the mapper
defaultTypeName - the default type name.
Method Detail

createTypeValue

protected Object createTypeValue(Connection conn,
                                 int sqlType,
                                 String typeName)
                          throws SQLException
The implementation for this specific type. This method is called internally by the Spring Framework during the out parameter processing and it's not accessed by application code directly.

Specified by:
createTypeValue in class AbstractSqlTypeValue
Throws:
SQLException
See Also:
AbstractSqlTypeValue