final class FKEnforcer
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
FKEnforcer.SharedState
Shared state used by all FKEnforcers for a given Database.
|
| Modifier and Type | Field and Description |
|---|---|
private java.util.List<ColumnImpl> |
_cols |
private java.util.List<Joiner> |
_primaryJoinersChkDel |
private java.util.List<Joiner> |
_primaryJoinersChkUp |
private java.util.List<Joiner> |
_primaryJoinersDoDel |
private java.util.List<Joiner> |
_primaryJoinersDoUp |
private java.util.List<Joiner> |
_secondaryJoiners |
private TableImpl |
_table |
private static ColumnMatcher |
MATCHER |
| Constructor and Description |
|---|
FKEnforcer(TableImpl table) |
| Modifier and Type | Method and Description |
|---|---|
void |
addRow(java.lang.Object[] row)
Handles foregn-key constraints when adding a row.
|
private static boolean |
anyUpdates(Joiner joiner,
java.lang.Object[] oldRow,
java.lang.Object[] newRow) |
private boolean |
anyUpdates(java.lang.Object[] oldRow,
java.lang.Object[] newRow) |
void |
deleteRow(java.lang.Object[] row)
Handles foregn-key constraints when deleting a row.
|
private boolean |
enforcing() |
private void |
initialize()
Does secondary initialization, if necessary.
|
(package private) static FKEnforcer.SharedState |
initSharedState() |
private static void |
requireNoSecondaryValues(Joiner joiner,
java.lang.Object[] row) |
private static void |
requirePrimaryValues(Joiner joiner,
java.lang.Object[] row) |
void |
updateRow(java.lang.Object[] oldRow,
java.lang.Object[] newRow)
Handles foregn-key constraints when updating a row.
|
private static void |
updateSecondaryValues(Joiner joiner,
java.lang.Object[] oldFromRow,
java.lang.Object[] newFromRow) |
private static final ColumnMatcher MATCHER
private final TableImpl _table
private final java.util.List<ColumnImpl> _cols
private java.util.List<Joiner> _primaryJoinersChkUp
private java.util.List<Joiner> _primaryJoinersChkDel
private java.util.List<Joiner> _primaryJoinersDoUp
private java.util.List<Joiner> _primaryJoinersDoDel
private java.util.List<Joiner> _secondaryJoiners
FKEnforcer(TableImpl table)
private void initialize()
throws java.io.IOException
java.io.IOExceptionpublic void addRow(java.lang.Object[] row)
throws java.io.IOException
row - new row in the Table's row format, including all values used
in any foreign-key relationshipsjava.io.IOExceptionpublic void updateRow(java.lang.Object[] oldRow,
java.lang.Object[] newRow)
throws java.io.IOException
oldRow - old row in the Table's row format, including all values
used in any foreign-key relationshipsnewRow - new row in the Table's row format, including all values
used in any foreign-key relationshipsjava.io.IOExceptionpublic void deleteRow(java.lang.Object[] row)
throws java.io.IOException
row - old row in the Table's row format, including all values used
in any foreign-key relationshipsjava.io.IOExceptionprivate static void requirePrimaryValues(Joiner joiner, java.lang.Object[] row) throws java.io.IOException
java.io.IOExceptionprivate static void requireNoSecondaryValues(Joiner joiner, java.lang.Object[] row) throws java.io.IOException
java.io.IOExceptionprivate static void updateSecondaryValues(Joiner joiner, java.lang.Object[] oldFromRow, java.lang.Object[] newFromRow) throws java.io.IOException
java.io.IOExceptionprivate boolean anyUpdates(java.lang.Object[] oldRow,
java.lang.Object[] newRow)
private static boolean anyUpdates(Joiner joiner, java.lang.Object[] oldRow, java.lang.Object[] newRow)
private boolean enforcing()
static FKEnforcer.SharedState initSharedState()