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 intprocessedResultSetsHolds a number of ResultSets processed by the action.protected ProcedureQueryquery-
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 ProcedureTranslatorcreateTranslator(Connection connection)Returns the ProcedureTranslator to use for this ProcedureAction.protected RowDescriptordescribeResultSet(ResultSet resultSet, int setIndex)Creates a RowDescriptor for result set.protected ProceduregetProcedure()Returns stored procedure for an internal query.protected voidinitStatement(CallableStatement statement)Initializes statement with query parametersvoidperformAction(Connection connection, OperationObserver observer)Executes a query using a strategy defined by the implementation.protected voidreadProcedureOutParameters(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:SQLActionExecutes a query using a strategy defined by the implementation.- Throws:
SQLExceptionException
-
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:
SQLExceptionException
-
initStatement
protected void initStatement(CallableStatement statement) throws Exception
Initializes statement with query parameters- Throws:
Exception
-
-