Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## oracle.ifs.admin.tools.upgrade
Class RowChangeAssistant

    public interface class RowChangeAssistant

Allows an upgrade action to receive notification of changes made to rows in a database table.

(Unpublished)

Nested Class Summary
`static interface` | `RowChangeAssistant.RowChange` A change to a row in a database table.

Method Summary
`java.util.Iterator` | `getRowChanges(java.lang.String tableName)` Gets the changes recorded for the specified table.
`boolean` | `isRegisteredForRowChanges(java.lang.String tableName)` Gets whether the action has registered for notification of row changes on the specified table.
`void` | `recordRowChange(java.lang.String tableName, long primaryKey, java.lang.String operation)` Manually records a change to the specified table.
`void` | `registerForRowChanges(java.lang.String tableName, java.lang.String pkColumnName, boolean trackInserts, java.lang.String insertFilter, boolean trackUpdates, java.lang.String updateFilter, boolean trackDeletes, java.lang.String deleteFilter)` Registers for notification of changes on the specified table.
`void` | `releaseRowChange(RowChangeAssistant.RowChange rc)` Releases a change recorded for the specified table.
`void` | `unregisterForRowChanges()` Unregisters from notification of changes on all tables.
`void` | `unregisterForRowChanges(java.lang.String tableName)` Unregisters from notification of changes on the specified table and deletes all row changes corresponding to the specified table that the action has not already released.

Method Detail

### registerForRowChanges

    void registerForRowChanges(java.lang.String tableName,
                               java.lang.String pkColumnName,
                               boolean trackInserts,
                               java.lang.String insertFilter,
                               boolean trackUpdates,
                               java.lang.String updateFilter,
                               boolean trackDeletes,
                               java.lang.String deleteFilter)
                               throws IfsException

  Description copied from interface: `RowChangeAssistant`
  Registers for notification of changes on the specified table.

  The specified column must be uniquely valued (for example, by a primary key or unique constraint) and convertible, by JDBC, to a Java `long`.

  You can control whether to receive notifications of `INSERT`s, `UPDATE`s, `DELETE`s, or any combination of these. For each operation, you can also specify a filter, a PL/SQL expression that evaluates to a boolean value. If a filter is specified, the upgrade action will only receive notification of rows for which the filter evaluates to `true`.

  For example:

       registerForRowChanges(
         "odmm_contentstore",
         "id",
         true,
         null,
         true,
         ":old.contenttype = 1 AND :new.contenttype = 3",
         false,
         null);

  would register for notification of all `INSERT`s and any `UPDATE` that changes the `contenttype` column from 1 to 3.

  An exception is thrown if the upgrade action has already registered for changes on the specified table.

  Parameters:
    `tableName` - the name of the table
    `pkColumnName` - the name of the primary key column
    `trackInserts` - whether to receive notification of `INSERT`s
    `insertFilter` - the insert filter, or null for none
    `trackUpdates` - whether to receive notification of `UPDATE`s
    `updateFilter` - the update filter, or null for none
    `trackDeletes` - whether to receive notification of `DELETE`s
    `deleteFilter` - the delete filter, or null for none
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### isRegisteredForRowChanges

    boolean isRegisteredForRowChanges(java.lang.String tableName)
                                      throws IfsException

  Description copied from interface: `RowChangeAssistant`
  Gets whether the action has registered for notification of row changes on the specified table.

  Parameters:
    `tableName` - the name of the table
  Returns:
    whether registered
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### unregisterForRowChanges

    void unregisterForRowChanges(java.lang.String tableName)
                                 throws IfsException

  Description copied from interface: `RowChangeAssistant`
  Unregisters from notification of changes on the specified table and deletes all row changes corresponding to the specified table that the action has not already released.

  An exception is thrown if the upgrade action did not previously call `registerForRowChanges` for the specified table.

  Parameters:
    `tableName` - the name of the table
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### unregisterForRowChanges

    void unregisterForRowChanges()
                                 throws IfsException

  Description copied from interface: `RowChangeAssistant`
  Unregisters from notification of changes on all tables.

  Equivalent to calling `unregisterForRowChanges(String)` on each table for which the upgrade action previously called `registerForRowChanges`.

  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getRowChanges

    java.util.Iterator getRowChanges(java.lang.String tableName)
                                     throws IfsException

  Description copied from interface: `RowChangeAssistant`
  Gets the changes recorded for the specified table.

  An exception is thrown if the upgrade action did not previously call `registerForRowChanges` for the specified table.

  Parameters:
    `tableName` - the name of the table
  Returns:
    the changes in the order they were made, as an Iterator of `RowChangeAssistant.RowChange`
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### releaseRowChange

    void releaseRowChange(RowChangeAssistant.RowChange rc)
                          throws IfsException

  Description copied from interface: `RowChangeAssistant`
  Releases a change recorded for the specified table.

  Once released, the change will not be reported by subsequent calls to `getRowChanges`.

  Parameters:
    `rc` - the change
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### recordRowChange

    void recordRowChange(java.lang.String tableName,
                         long primaryKey,
                         java.lang.String operation)
                         throws IfsException

  Description copied from interface: `RowChangeAssistant`
  Manually records a change to the specified table.

  The "change" will be reported by subsequent calls to `getRowChanges`. There is no need for the row to have actually changed. Filter expressions specified in calling `registerForRowChanges` are not evaluated.

  An upgrade action may call this method to schedule processing on a row for a future time (when the action calls `getRowChanges`).

  An exception is thrown if the upgrade action did not previously call `registerForRowChanges` for the specified table.

  Parameters:
    `tableName` - the name of the table
    `primaryKey` - the value of the primary key
    `operation` - the operation performed: "`INSERT`", "`UPDATE`", "`DELETE`", or some action-specific value (that will fit within `VARCHAR2(20)`)
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD