PutHelper (Oracle - Berkeley DB Client-Server API)
Date: 2018-05-29

com.sleepycat.client

## Interface PutHelper

- All Known Implementing Classes:
    SCursor, SDatabase, SSecondaryCursor, SSecondaryDatabase

      public interface PutHelper

  PutHelper implements a few helper methods for making remote put calls.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `PutHelper.RemotePutFunction`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default TKeyDataWithSecondaryKeys` | `calculateSKey(SDatabaseEntry key, SDatabaseEntry data)` Calculate the secondary keys generated for each secondary database for the specified primary key / data pair.
    `java.util.Set<SSecondaryDatabase>` | `getSecondaryDatabases()` Return the set of secondary databases associated with this primary database.
    `default <V> V` | `handleRuntimeExceptions(com.sleepycat.client.RemoteServiceCallable<V> remote)`
    `default <V> V` | `remoteCall(com.sleepycat.client.RemoteServiceCallable<V> remote)`
    `default <V> V` | `remoteCallWithIOException(com.sleepycat.client.RemoteServiceCallable<V> remote)`
    `default SOperationStatus` | `remotePut(java.util.List<TKeyDataWithSecondaryKeys> pairs, SDatabaseEntry retKey, PutHelper.RemotePutFunction func)`

- - ### Method Detail

    - #### calculateSKey

          default TKeyDataWithSecondaryKeys calculateSKey(SDatabaseEntry key,
                                                          SDatabaseEntry data)

      Calculate the secondary keys generated for each secondary database for the specified primary key / data pair.
      Parameters:
        `key` - the primary key
        `data` - the primary data
      Returns:
        a TKeyDataWithSecondaryKeys

    - #### remotePut

          default SOperationStatus remotePut(java.util.List<TKeyDataWithSecondaryKeys> pairs,
                                             SDatabaseEntry retKey,
                                             PutHelper.RemotePutFunction func)
                                      throws SDatabaseException

      Throws:
        `SDatabaseException`

    - #### getSecondaryDatabases

          java.util.Set<SSecondaryDatabase> getSecondaryDatabases()

      Return the set of secondary databases associated with this primary database.
      Returns:
        the set of associated secondary databases

    - #### remoteCallWithIOException

          default <V> V remoteCallWithIOException(com.sleepycat.client.RemoteServiceCallable<V> remote)
                                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### remoteCall

          default <V> V remoteCall(com.sleepycat.client.RemoteServiceCallable<V> remote)

    - #### handleRuntimeExceptions

          default <V> V handleRuntimeExceptions(com.sleepycat.client.RemoteServiceCallable<V> remote)
                                         throws org.apache.thrift.TException

      Throws:
        `org.apache.thrift.TException`

Copyright (c) 2016, 2018 Oracle and/or its affiliates. All rights reserved.