org.apache.openjpa.jdbc.sql
Interface RowManager

All Known Implementing Classes:
RowManagerImpl, StateComparisonVersionStrategy.CustomUpdate

public interface RowManager

Manages rows during an insert/update/delete process. Row managers do not have to be threadsafe.

Author:
Abe White

Method Summary
 void flushAllRows(Row row)
          Flush the logical row.
 void flushSecondaryRow(Row row)
          Flush the secondary row; after flushing the row is available for reuse.
 Row getAllRows(Table table, int action)
          Return a logical row representing an update that should be made to all rows of the given table.
 Row getRow(Table table, int action, OpenJPAStateManager sm, boolean create)
          Return the row for the given table and owner object, or null if create is false and the row has not already been created.
 Row getSecondaryRow(Table table, int action)
          Return a row for the given secondary table.
 

Method Detail

getRow

Row getRow(Table table,
           int action,
           OpenJPAStateManager sm,
           boolean create)
Return the row for the given table and owner object, or null if create is false and the row has not already been created. The action must be one of Row.ACTION_INSERT, Row.ACTION_UPDATE, Row.ACTION_DELETE.


getSecondaryRow

Row getSecondaryRow(Table table,
                    int action)
Return a row for the given secondary table. The action must be one of Row.ACTION_INSERT, Row.ACTION_UPDATE, Row.ACTION_DELETE. Note that secondary rows are not considered when creating the foreign key dependency graph, with can cause constraint violations when using the UPDATE action. Only use this action if the secondary row does not have restrict-action foreign keys. Otherwise use both a delete and then an insert to perform the update.


flushSecondaryRow

void flushSecondaryRow(Row row)
                       throws SQLException
Flush the secondary row; after flushing the row is available for reuse. It will retain all previously set values.

Throws:
SQLException

getAllRows

Row getAllRows(Table table,
               int action)
Return a logical row representing an update that should be made to all rows of the given table. The action must be one of Row.ACTION_UPDATE, Row.ACTION_DELETE.


flushAllRows

void flushAllRows(Row row)
                  throws SQLException
Flush the logical row.

Throws:
SQLException


Copyright © 2006-2008 Apache Software Foundation. All Rights Reserved.