Package org.springframework.jdbc.object

# Class SqlCall

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

All Implemented Interfaces:
  `org.springframework.beans.factory.InitializingBean`

Direct Known Subclasses:
  `StoredProcedure`

public abstract class SqlCall extends RdbmsOperation
RdbmsOperation using a JdbcTemplate and representing an 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
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

Modifier and Type
Method
Description
`protected final 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 these 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, resolveSql, 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 Details

### 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` - the DataSource to obtain connections from
  `sql` - the SQL to execute

## Method Details

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

@Nullable public String getCallString()
Get the call string.

### newCallableStatementCreator

protected CallableStatementCreator newCallableStatementCreator(@Nullable Map<String,?> inParams)
Return a CallableStatementCreator to perform an operation with these 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`.