org.springframework.jdbc.object

## Class SqlCall

- java.lang.Object
- - org.springframework.jdbc.object.RdbmsOperation
  - - org.springframework.jdbc.object.SqlCall

All Implemented Interfaces:
  InitializingBean

Direct Known Subclasses:
  StoredProcedure

    public abstract class SqlCall
    extends RdbmsOperation

RdbmsOperation using a JdbcTemplate and representing a SQL-based call such as a stored procedure or a stored function.

Configures a CallableStatementCreatorFactory based on the declared parameters.

Author:
  Rod Johnson, Thomas Risberg
See Also:
  `CallableStatementCreatorFactory`

### Field Summary

### Fields inherited from class org.springframework.jdbc.object.RdbmsOperation

`logger`

### Constructor Summary

Constructors
Constructor and Description
`SqlCall()` Constructor to allow use as a JavaBean.
`SqlCall(DataSource ds, String sql)` Create a new SqlCall object with SQL, but without parameters.

### Method Summary

Methods
`protected void` `compileInternal()` Overridden method to configure the CallableStatementCreatorFactory based on our declared parameters.
`String` `getCallString()` Get the call string.
`boolean` `isFunction()` Return whether this call is for a function.
`boolean` `isSqlReadyForUse()` Return whether the SQL can be used as is.
`protected CallableStatementCreator` `newCallableStatementCreator(Map<String,?> inParams)` Return a CallableStatementCreator to perform an operation with this parameters.
`protected CallableStatementCreator` `newCallableStatementCreator(ParameterMapper inParamMapper)` Return a CallableStatementCreator to perform an operation with the parameters returned from this ParameterMapper.
`protected void` `onCompileInternal()` Hook method that subclasses may override to react to compilation.
`void` `setFunction(boolean function)` Set whether this call is for a function.
`void` `setSqlReadyForUse(boolean sqlReadyForUse)` Set whether the SQL can be used as is.

### Methods inherited from class org.springframework.jdbc.object.RdbmsOperation

`afterPropertiesSet, allowsUnusedParameters, checkCompiled, compile, declareParameter, getDeclaredParameters, getGeneratedKeysColumnNames, getJdbcTemplate, getResultSetType, getSql, isCompiled, isReturnGeneratedKeys, isUpdatableResults, setDataSource, setFetchSize, setGeneratedKeysColumnNames, setJdbcTemplate, setMaxRows, setParameters, setQueryTimeout, setResultSetType, setReturnGeneratedKeys, setSql, setTypes, setUpdatableResults, supportsLobParameters, validateNamedParameters, validateParameters`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SqlCall

    public SqlCall()

Constructor to allow use as a JavaBean. A DataSource, SQL and any parameters must be supplied before invoking the `compile` method and using this object.

See Also:
  `RdbmsOperation.setDataSource(javax.sql.DataSource)`, `RdbmsOperation.setSql(java.lang.String)`, `RdbmsOperation.compile()`

#### SqlCall

    public SqlCall(DataSource ds,
           String sql)

Create a new SqlCall object with SQL, but without parameters. Must add parameters or settle with none.

Parameters:
  `ds` - DataSource to obtain connections from
  `sql` - SQL to execute

### Method Detail

#### setFunction

    public void setFunction(boolean function)

Set whether this call is for a function.

#### isFunction

    public boolean isFunction()

Return whether this call is for a function.

#### setSqlReadyForUse

    public void setSqlReadyForUse(boolean sqlReadyForUse)

Set whether the SQL can be used as is.

#### isSqlReadyForUse

    public boolean isSqlReadyForUse()

Return whether the SQL can be used as is.

#### compileInternal

    protected final void compileInternal()

Overridden method to configure the CallableStatementCreatorFactory based on our declared parameters.

Specified by:
  `compileInternal` in class `RdbmsOperation`
See Also:
  `RdbmsOperation.compileInternal()`

#### onCompileInternal

    protected void onCompileInternal()

Hook method that subclasses may override to react to compilation. This implementation does nothing.

#### getCallString

    public String getCallString()

Get the call string.

#### newCallableStatementCreator

    protected CallableStatementCreator newCallableStatementCreator(Map<String,?> inParams)

Return a CallableStatementCreator to perform an operation with this parameters.

Parameters:
  `inParams` - parameters. May be `null`.

#### newCallableStatementCreator

    protected CallableStatementCreator newCallableStatementCreator(ParameterMapper inParamMapper)

Return a CallableStatementCreator to perform an operation with the parameters returned from this ParameterMapper.

Parameters:
  `inParamMapper` - parametermapper. May not be `null`.