# Interface SQLActionVisitor

All Known Implementing Classes:
  `DB2ActionBuilder, DerbyActionBuilder, FirebirdActionBuilder, FrontBaseActionBuilder, H2ActionBuilder, IngresActionBuilder, JdbcActionBuilder, SQLServerActionBuilder`

public interface SQLActionVisitor
A factory interface to create standard SQLActions for a set of standard queries. Instances of SQLActionVisitor are passed by Cayenne to a Query in `Query.createSQLAction(SQLActionVisitor)`, allowing query to choose the action type and convert itself to a "standard" query if needed. Individual DbAdapters would provide special visitors, thus allowing for DB-dependent execution algorithms.

Since:
  1.2
See Also:
  - `Query.createSQLAction(SQLActionVisitor)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `SQLAction`
  `batchAction(BatchQuery query)`
  Creates an action to execute a batch update query.
  `SQLAction`
  `ejbqlAction(EJBQLQuery query)`
  Creates an action to execute EJBQL query.
  `<T> SQLAction`
  `objectSelectAction(FluentSelect<T,?> query)`
  Creates an action to execute a FluentSelect.
  `SQLAction`
  `procedureAction(ProcedureQuery query)`
  Creates an action to execute a ProcedureQuery.
  `SQLAction`
  `sqlAction(SQLTemplate query)`
  Creates an action to execute a SQLTemplate.

- ## Method Details

  - ### batchAction

    SQLAction batchAction(BatchQuery query)
    Creates an action to execute a batch update query.

  - ### objectSelectAction

    <T> SQLAction objectSelectAction(FluentSelect<T,?> query)
    Creates an action to execute a FluentSelect.
    Since:
      4.2

  - ### sqlAction

    SQLAction sqlAction(SQLTemplate query)
    Creates an action to execute a SQLTemplate.

  - ### procedureAction

    SQLAction procedureAction(ProcedureQuery query)
    Creates an action to execute a ProcedureQuery.

  - ### ejbqlAction

    SQLAction ejbqlAction(EJBQLQuery query)
    Creates an action to execute EJBQL query.