SqlCall (Spring Framework 3.2.1.RELEASE API)
Date: 2013-01-24

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
    Modifier and Type | Method and Description
    --- | ---
    `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`.