Package org.apache.cayenne.access.jdbc
Class ProcedureAction
- java.lang.Object
-
- org.apache.cayenne.access.jdbc.BaseSQLAction
-
- org.apache.cayenne.access.jdbc.ProcedureAction
-
- All Implemented Interfaces:
SQLAction
- Direct Known Subclasses:
SQLServerProcedureAction
public class ProcedureAction extends BaseSQLAction
A SQLAction that runs a stored procedure. Note that ProcedureAction has internal state and is not thread-safe.- Since:
- 1.2
-
-
Field Summary
Fields Modifier and Type Field Description protected int
processedResultSets
Holds a number of ResultSets processed by the action.protected ProcedureQuery
query
-
Fields inherited from class org.apache.cayenne.access.jdbc.BaseSQLAction
dataNode
-
-
Constructor Summary
Constructors Constructor Description ProcedureAction(ProcedureQuery query, DataNode dataNode)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ProcedureTranslator
createTranslator(Connection connection)
Returns the ProcedureTranslator to use for this ProcedureAction.protected RowDescriptor
describeResultSet(ResultSet resultSet, int setIndex)
Creates a RowDescriptor for result set.protected Procedure
getProcedure()
Returns stored procedure for an internal query.protected void
initStatement(CallableStatement statement)
Initializes statement with query parametersvoid
performAction(Connection connection, OperationObserver observer)
Executes a query using a strategy defined by the implementation.protected void
readProcedureOutParameters(CallableStatement statement, OperationObserver delegate)
Helper method that reads OUT parameters of a CallableStatement.-
Methods inherited from class org.apache.cayenne.access.jdbc.BaseSQLAction
getInMemoryOffset, readResultSet
-
-
-
-
Field Detail
-
query
protected ProcedureQuery query
-
processedResultSets
protected int processedResultSets
Holds a number of ResultSets processed by the action. This value is reset to zero on every "performAction" call.
-
-
Constructor Detail
-
ProcedureAction
public ProcedureAction(ProcedureQuery query, DataNode dataNode)
- Since:
- 4.0
-
-
Method Detail
-
performAction
public void performAction(Connection connection, OperationObserver observer) throws SQLException, Exception
Description copied from interface:SQLAction
Executes a query using a strategy defined by the implementation.- Throws:
SQLException
Exception
-
createTranslator
protected ProcedureTranslator createTranslator(Connection connection)
Returns the ProcedureTranslator to use for this ProcedureAction.- Parameters:
connection
- JDBC connection
-
describeResultSet
protected RowDescriptor describeResultSet(ResultSet resultSet, int setIndex) throws SQLException
Creates a RowDescriptor for result set.- Parameters:
resultSet
- JDBC ResultSetsetIndex
- a zero-based index of the ResultSet in the query results.- Throws:
SQLException
-
getProcedure
protected Procedure getProcedure()
Returns stored procedure for an internal query.
-
readProcedureOutParameters
protected void readProcedureOutParameters(CallableStatement statement, OperationObserver delegate) throws SQLException, Exception
Helper method that reads OUT parameters of a CallableStatement.- Throws:
SQLException
Exception
-
initStatement
protected void initStatement(CallableStatement statement) throws Exception
Initializes statement with query parameters- Throws:
Exception
-
-