oracle.kv.table

## Interface TableOperationFactory

-     public interface TableOperationFactory

  A factory to create operations that can be batched for execution by `TableAPI.execute`.

  Each operation created here operates on a single row and matches the corresponding operation defined in TableAPI. For example, the Operation generated by the `createPut` method corresponds to the `put` method. The argument pattern for creating the operation is similar. It differs in the following respects:

  - The writeOptions argument is not passed, since that argument applies to the execution of the entire batch of operations and is passed in to the `execute` method.
  - `ReturnRow.Choice` is passed instead of `ReturnRow`.
  - An additional argument, `abortIfUnsuccessful` is passed.

  The return values associated with operations similarly match the descriptions for the corresponding methods described in in `TableAPI`. They are, however, retrieved differently: the status, return value, previous value and version are packaged together in `TableOperationResult`.

  Since:
    3.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `TableOperation` | `createDelete(PrimaryKey key, ReturnRow.Choice prevReturn, boolean abortIfUnsuccessful)` Create a Delete operation suitable for use as an argument to the `execute` method.
    `TableOperation` | `createDeleteIfVersion(PrimaryKey key, Version versionMatch, ReturnRow.Choice prevReturn, boolean abortIfUnsuccessful)` Create a Delete operation suitable for use as an argument to the `execute` method.
    `TableOperation` | `createPut(Row row, ReturnRow.Choice prevReturn, boolean abortIfUnsuccessful)` Create a Put operation suitable for use as an argument to the `execute` method.
    `TableOperation` | `createPutIfAbsent(Row row, ReturnRow.Choice prevReturn, boolean abortIfUnsuccessful)` Create a Put operation suitable for use as an argument to the `execute` method.
    `TableOperation` | `createPutIfPresent(Row row, ReturnRow.Choice prevReturn, boolean abortIfUnsuccessful)` Create a Put operation suitable for use as an argument to the `execute` method.
    `TableOperation` | `createPutIfVersion(Row row, Version versionMatch, ReturnRow.Choice prevReturn, boolean abortIfUnsuccessful)` Create a Put operation suitable for use as an argument to the `execute` method.

- - ### Method Detail

    - #### createPut

          TableOperation createPut(Row row,
                                 ReturnRow.Choice prevReturn,
                                 boolean abortIfUnsuccessful)

      Create a Put operation suitable for use as an argument to the `execute` method. The semantics of the returned operation are identical to that of the `put` method.

      The result of evaluating the operation, or the resulting exception, after the call to `execute` is available as an `TableOperationResult`.

      Parameters:
        `abortIfUnsuccessful` - is true if this operation should cause the `execute` transaction to abort when the operation fails, where failure is the condition when the `put` method returns null.
      Returns:
        the created Put operation
      See Also:
        `put`, `execute`

    - #### createPutIfAbsent

          TableOperation createPutIfAbsent(Row row,
                                         ReturnRow.Choice prevReturn,
                                         boolean abortIfUnsuccessful)

      Create a Put operation suitable for use as an argument to the `execute` method. The semantics of the returned operation are identical to that of the `putIfAbsent` method.

      The result of evaluating the operation, or the resulting exception, after the call to `execute` is available as an `TableOperationResult`.

      Parameters:
        `abortIfUnsuccessful` - is true if this operation should cause the `execute` transaction to abort when the operation fails, where failure is the condition when the `put` method returns null.
      Returns:
        the created Put operation
      See Also:
        `putIfAbsent`, `execute`

    - #### createPutIfPresent

          TableOperation createPutIfPresent(Row row,
                                          ReturnRow.Choice prevReturn,
                                          boolean abortIfUnsuccessful)

      Create a Put operation suitable for use as an argument to the `execute` method. The semantics of the returned operation are identical to that of the `putIfPresent` method.

      The result of evaluating the operation, or the resulting exception, after the call to `execute` is available as an `TableOperationResult`.

      Parameters:
        `abortIfUnsuccessful` - is true if this operation should cause the `execute` transaction to abort when the operation fails, where failure is the condition when the `put` method returns null.
      Returns:
        the created Put operation
      See Also:
        `putIfPresent`, `execute`

    - #### createPutIfVersion

          TableOperation createPutIfVersion(Row row,
                                          Version versionMatch,
                                          ReturnRow.Choice prevReturn,
                                          boolean abortIfUnsuccessful)

      Create a Put operation suitable for use as an argument to the `execute` method. The semantics of the returned operation are identical to that of the `putIfVersion` method.

      The result of evaluating the operation, or the resulting exception, after the call to `execute` is available as an `TableOperationResult`.

      Parameters:
        `abortIfUnsuccessful` - is true if this operation should cause the `execute` transaction to abort when the operation fails, where failure is the condition when the `put` method returns null.
      Returns:
        the created Put operation
      See Also:
        `putIfVersion`, `execute`

    - #### createDelete

          TableOperation createDelete(PrimaryKey key,
                                    ReturnRow.Choice prevReturn,
                                    boolean abortIfUnsuccessful)

      Create a Delete operation suitable for use as an argument to the `execute` method. The semantics of the returned operation are identical to that of the `delete` method.

      The result of evaluating the operation, or the resulting exception, after the call to `execute` is available as an `TableOperationResult`.

      Parameters:
        `abortIfUnsuccessful` - is true if this operation should cause the `execute` transaction to abort when the operation fails, where failure is the condition when the `delete` method returns null.
      Returns:
        the created Delete operation
      See Also:
        `delete`, `execute`

    - #### createDeleteIfVersion

          TableOperation createDeleteIfVersion(PrimaryKey key,
                                             Version versionMatch,
                                             ReturnRow.Choice prevReturn,
                                             boolean abortIfUnsuccessful)

      Create a Delete operation suitable for use as an argument to the `execute` method. The semantics of the returned operation are identical to that of the `deleteIfVersion` method.

      The result of evaluating the operation, or the resulting exception, after the call to `execute` is available as an `TableOperationResult`.

      Parameters:
        `abortIfUnsuccessful` - is true if this operation should cause the `execute` transaction to abort when the operation fails, where failure is the condition when the `deleteIfVersion` method returns null.
      Returns:
        the created Delete operation
      See Also:
        `deleteIfVersion`, `execute`

Copyright (c) 2011, 2014 Oracle and/or its affiliates. All rights reserved.