org.apache.openjpa.jdbc.sql
Class RowManagerImpl

java.lang.Object
  extended by org.apache.openjpa.jdbc.sql.RowManagerImpl
All Implemented Interfaces:
RowManager

public class RowManagerImpl
extends Object
implements RowManager

Manages SQL rows during an insert/update/delete process.

Author:
Abe White

Constructor Summary
RowManagerImpl(boolean order)
          Constructor.
 
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.
 Collection<Row> getAllRowDeletes()
          Return any 'all row' deletes.
 Row getAllRows(Table table, int action)
          Return a logical row representing an update that should be made to all rows of the given table.
 Collection<Row> getAllRowUpdates()
          Return any 'all row' updates.
 Collection<PrimaryRow> getDeletes()
          Return all deleted primary rows.
 Collection<PrimaryRow> getInserts()
          Return all inserted primary rows.
 List<PrimaryRow> getOrdered()
          Return the ordered primary rows.
 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.
 Collection<SecondaryRow> getSecondaryDeletes()
          Return all deleted secondary rows.
 Row getSecondaryRow(Table table, int action)
          Return a row for the given secondary table.
 Collection<SecondaryRow> getSecondaryUpdates()
          Return all inserted and updated secondary rows.
 Collection<PrimaryRow> getUpdates()
          Return all updated primary rows.
 boolean hasAutoAssignConstraints()
          Whether any primary rows have auto-assign constraints.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RowManagerImpl

public RowManagerImpl(boolean order)
Constructor.

Parameters:
order - whether to keep track of the order in which rows are added
Method Detail

hasAutoAssignConstraints

public boolean hasAutoAssignConstraints()
Whether any primary rows have auto-assign constraints.


getOrdered

public List<PrimaryRow> getOrdered()
Return the ordered primary rows. Only available if ordering requested on construction.


getInserts

public Collection<PrimaryRow> getInserts()
Return all inserted primary rows.


getUpdates

public Collection<PrimaryRow> getUpdates()
Return all updated primary rows.


getDeletes

public Collection<PrimaryRow> getDeletes()
Return all deleted primary rows.


getSecondaryUpdates

public Collection<SecondaryRow> getSecondaryUpdates()
Return all inserted and updated secondary rows.


getSecondaryDeletes

public Collection<SecondaryRow> getSecondaryDeletes()
Return all deleted secondary rows.


getAllRowUpdates

public Collection<Row> getAllRowUpdates()
Return any 'all row' updates.


getAllRowDeletes

public Collection<Row> getAllRowDeletes()
Return any 'all row' deletes.


getSecondaryRow

public Row getSecondaryRow(Table table,
                           int action)
Description copied from interface: RowManager
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.

Specified by:
getSecondaryRow in interface RowManager

flushSecondaryRow

public void flushSecondaryRow(Row row)
                       throws SQLException
Description copied from interface: RowManager
Flush the secondary row; after flushing the row is available for reuse. It will retain all previously set values.

Specified by:
flushSecondaryRow in interface RowManager
Throws:
SQLException

getAllRows

public Row getAllRows(Table table,
                      int action)
Description copied from interface: RowManager
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.

Specified by:
getAllRows in interface RowManager

flushAllRows

public void flushAllRows(Row row)
Description copied from interface: RowManager
Flush the logical row.

Specified by:
flushAllRows in interface RowManager

getRow

public Row getRow(Table table,
                  int action,
                  OpenJPAStateManager sm,
                  boolean create)
Description copied from interface: RowManager
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.

Specified by:
getRow in interface RowManager


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