## org.springframework.jdbc.core.metadata
Class CallMetaDataContext

    java.lang.Object
      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, Juergen Hoeller

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,?>` `matchInParameterValuesWithCallParameters(Map<String,?> inParameters)` Match input parameter values with the parameters declared to be used in the call.
`Map<String,?>` `matchInParameterValuesWithCallParameters(Object[] parameterValues)`
`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 metadata is used, the parameters will be matched against the metadata information and any missing ones will be automatically included.
`protected List<SqlParameter>` `reconcileParameters(List<SqlParameter> parameters)` Reconcile the provided parameters with available metadata and add new ones where appropriate.
`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 used as the name of the List returned in the output)
    `rowMapper` - a RowMapper implementation used to map the data returned 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, the name of the first one will be 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 metadata 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 to use as a base

### reconcileParameters

    protected List<SqlParameter> reconcileParameters(List<SqlParameter> parameters)

  Reconcile the provided parameters with available metadata and add new ones where appropriate.

### 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,?> matchInParameterValuesWithCallParameters(Map<String,?> 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

### matchInParameterValuesWithCallParameters

    public Map<String,?> matchInParameterValuesWithCallParameters(Object[] parameterValues)

### createCallString

    public String createCallString()

  Build the call string based on configuration and metadata information.

  Returns:
    the call string to be used