## 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
`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
`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`.