Package org.apache.openjpa.jdbc.sql
Class RowManagerImpl
- java.lang.Object
-
- org.apache.openjpa.jdbc.sql.RowManagerImpl
-
- All Implemented Interfaces:
RowManager
public class RowManagerImpl extends java.lang.Object implements RowManager
Manages SQL rows during an insert/update/delete process.- Author:
- Abe White
-
-
Constructor Summary
Constructors Constructor Description RowManagerImpl(boolean order)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
flushAllRows(Row row)
Flush the logical row.void
flushSecondaryRow(Row row)
Flush the secondary row; after flushing the row is available for reuse.java.util.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.java.util.Collection<Row>
getAllRowUpdates()
Return any 'all row' updates.java.util.Collection<PrimaryRow>
getDeletes()
Return all deleted primary rows.java.util.Collection<PrimaryRow>
getInserts()
Return all inserted primary rows.java.util.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 ifcreate
is false and the row has not already been created.java.util.Collection<SecondaryRow>
getSecondaryDeletes()
Return all deleted secondary rows.Row
getSecondaryRow(Table table, int action)
Return a row for the given secondary table.java.util.Collection<SecondaryRow>
getSecondaryUpdates()
Return all inserted and updated secondary rows.java.util.Collection<PrimaryRow>
getUpdates()
Return all updated primary rows.boolean
hasAutoAssignConstraints()
Whether any primary rows have auto-assign constraints.
-
-
-
Method Detail
-
hasAutoAssignConstraints
public boolean hasAutoAssignConstraints()
Whether any primary rows have auto-assign constraints.
-
getOrdered
public java.util.List<PrimaryRow> getOrdered()
Return the ordered primary rows. Only available if ordering requested on construction.
-
getInserts
public java.util.Collection<PrimaryRow> getInserts()
Return all inserted primary rows.
-
getUpdates
public java.util.Collection<PrimaryRow> getUpdates()
Return all updated primary rows.
-
getDeletes
public java.util.Collection<PrimaryRow> getDeletes()
Return all deleted primary rows.
-
getSecondaryUpdates
public java.util.Collection<SecondaryRow> getSecondaryUpdates()
Return all inserted and updated secondary rows.
-
getSecondaryDeletes
public java.util.Collection<SecondaryRow> getSecondaryDeletes()
Return all deleted secondary rows.
-
getAllRowUpdates
public java.util.Collection<Row> getAllRowUpdates()
Return any 'all row' updates.
-
getAllRowDeletes
public java.util.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 ofRow.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 theUPDATE
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 interfaceRowManager
-
flushSecondaryRow
public void flushSecondaryRow(Row row) throws java.sql.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 interfaceRowManager
- Throws:
java.sql.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 ofRow.ACTION_UPDATE
,Row.ACTION_DELETE
.- Specified by:
getAllRows
in interfaceRowManager
-
flushAllRows
public void flushAllRows(Row row)
Description copied from interface:RowManager
Flush the logical row.- Specified by:
flushAllRows
in interfaceRowManager
-
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 ifcreate
is false and the row has not already been created. The action must be one ofRow.ACTION_INSERT
,Row.ACTION_UPDATE
,Row.ACTION_DELETE
.- Specified by:
getRow
in interfaceRowManager
-
-