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 parameters
    `void` | `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`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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 ResultSet
        `setIndex` - 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`