The Spring Framework

org.springframework.jdbc.core.metadata
Class CallMetaDataContext

java.lang.Object
  extended by org.springframework.jdbc.core.metadata.CallMetaDataContext

public class CallMetaDataContext
extends Object

Class to manage context metadata used for the configuration and execution of the call.

Since:
2.5
Author:
Thomas Risberg

Field Summary
protected  Log logger
          Logger available to subclasses
 
Constructor Summary
CallMetaDataContext()
           
 
Method Summary
 String createCallString()
          Build the call string based on configuration and metadata information
 SqlParameter createReturnResultSetParameter(String parameterName, RowMapper rowMapper)
          Create a ReturnResultSetParameter/SqlOutParameter depending on the support provided by the JDBC driver used for the database in use.
 List<SqlParameter> getCallParameters()
          Get the List of SqlParameter objects to be used in call execution
 String getCatalogName()
          Get the name of the catalog.
 String getFunctionReturnName()
          Get the name used for the return value of the function.
 Set<String> getLimitedInParameterNames()
          Get a limited set of in parameters to be used.
 List<String> getOutParameterNames()
          Get a list of the out parameter names.
 String getProcedureName()
          Get the name of the procedure.
 String getScalarOutParameterName()
          Get the name of the single out parameter for this call.
 String getSchemaName()
          Get the name of the schema.
 void initializeMetaData(DataSource dataSource)
          Initialize this class with metadata from the database
 boolean isAccessCallParameterMetaData()
          Check whether call parameter metadata should be accessed.
 boolean isFunction()
          Check whether this call is a function call.
 boolean isReturnValueRequired()
          Check whether a return value is required.
 Map<String,Object> matchInParameterValuesWithCallParameters(Map<String,Object> inParameters)
          Match input parameter values with the parameters declared to be used in the call
 Map<String,Object> matchInParameterValuesWithCallParameters(SqlParameterSource parameterSource)
          Match input parameter values with the parameters declared to be used in the call
 void processParameters(List<SqlParameter> parameters)
          Process the list of parameters provided and if procedure column metedata is used the parameters will be matched against the metadata information and any missing ones will be automatically included
 void setAccessCallParameterMetaData(boolean accessCallParameterMetaData)
          Specify whether call parameter metadata should be accessed.
 void setCatalogName(String catalogName)
          Specify the name of the catalog.
 void setFunction(boolean function)
          Specify whether this call is a function call.
 void setFunctionReturnName(String functionReturnName)
          Specify the name used for the return value of the function.
 void setLimitedInParameterNames(Set<String> limitedInParameterNames)
          Specify a limited set of in parameters to be used.
 void setOutParameterNames(List<String> outParameterNames)
          Specify the names of the out parameters.
 void setProcedureName(String procedureName)
          Specify the name of the procedure.
 void setReturnValueRequired(boolean returnValueRequired)
          Specify whether a return value is required.
 void setSchemaName(String schemaName)
          Secify the name of the schema.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final Log logger
Logger available to subclasses

Constructor Detail

CallMetaDataContext

public CallMetaDataContext()
Method Detail

setFunctionReturnName

public void setFunctionReturnName(String functionReturnName)
Specify the name used for the return value of the function.


getFunctionReturnName

public String getFunctionReturnName()
Get the name used for the return value of the function.


setLimitedInParameterNames

public void setLimitedInParameterNames(Set<String> limitedInParameterNames)
Specify a limited set of in parameters to be used.


getLimitedInParameterNames

public Set<String> getLimitedInParameterNames()
Get a limited set of in parameters to be used.


setOutParameterNames

public void setOutParameterNames(List<String> outParameterNames)
Specify the names of the out parameters.


getOutParameterNames

public List<String> getOutParameterNames()
Get a list of the out parameter names.


setProcedureName

public void setProcedureName(String procedureName)
Specify the name of the procedure.


getProcedureName

public String getProcedureName()
Get the name of the procedure.


setCatalogName

public void setCatalogName(String catalogName)
Specify the name of the catalog.


getCatalogName

public String getCatalogName()
Get the name of the catalog.


setSchemaName

public void setSchemaName(String schemaName)
Secify the name of the schema.


getSchemaName

public String getSchemaName()
Get the name of the schema.


setFunction

public void setFunction(boolean function)
Specify whether this call is a function call.


isFunction

public boolean isFunction()
Check whether this call is a function call.


setReturnValueRequired

public void setReturnValueRequired(boolean returnValueRequired)
Specify whether a return value is required.


isReturnValueRequired

public boolean isReturnValueRequired()
Check whether a return value is required.


setAccessCallParameterMetaData

public void setAccessCallParameterMetaData(boolean accessCallParameterMetaData)
Specify whether call parameter metadata should be accessed.


isAccessCallParameterMetaData

public boolean isAccessCallParameterMetaData()
Check whether call parameter metadata should be accessed.


createReturnResultSetParameter

public SqlParameter createReturnResultSetParameter(String parameterName,
                                                   RowMapper rowMapper)
Create a ReturnResultSetParameter/SqlOutParameter depending on the support provided by the JDBC driver used for the database in use.

Parameters:
parameterName - the name of the parameter. Also be used as the name of the List returned in the output.
rowMapper - a RowMapper iplementation used to map the data retuned in the result set
Returns:
the appropriate SqlParameter

getScalarOutParameterName

public String getScalarOutParameterName()
Get the name of the single out parameter for this call. If there are multiple parameters then the name of the first one is returned.


getCallParameters

public List<SqlParameter> getCallParameters()
Get the List of SqlParameter objects to be used in call execution


initializeMetaData

public void initializeMetaData(DataSource dataSource)
Initialize this class with metadata from the database

Parameters:
dataSource - the DataSource used to retrieve metadata

processParameters

public void processParameters(List<SqlParameter> parameters)
Process the list of parameters provided and if procedure column metedata is used the parameters will be matched against the metadata information and any missing ones will be automatically included

Parameters:
parameters - the list of parameters ti use as a base

matchInParameterValuesWithCallParameters

public Map<String,Object> matchInParameterValuesWithCallParameters(SqlParameterSource parameterSource)
Match input parameter values with the parameters declared to be used in the call

Parameters:
parameterSource - the input values
Returns:
a Map containing the matched parameter names with the value taken from the input

matchInParameterValuesWithCallParameters

public Map<String,Object> matchInParameterValuesWithCallParameters(Map<String,Object> inParameters)
Match input parameter values with the parameters declared to be used in the call

Parameters:
inParameters - the input values
Returns:
a Map containing the matched parameter names with the value taken from the input

createCallString

public String createCallString()
Build the call string based on configuration and metadata information

Returns:
the call string to be used

The Spring Framework

Copyright © 2002-2007 The Spring Framework.