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

com.sleepycat.client

## Interface GetHelper

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

      public interface GetHelper

  GetHelper implements a few helper methods for making remote get / pGet calls.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `GetHelper.RemoteGetFunction`
    `static interface` | `GetHelper.RemotePGetFunction`

  - ### Method Summary

    All Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default TKeyData` | `createGetSearchTerm(SDatabaseEntry key, SDatabaseEntryBase data)` This method helps to create the TKeyData argument used in a remote get call.
    `default TKeyDataWithPKey` | `createPGetSearchTerm(SDatabaseEntry sKey, SDatabaseEntry pKey, SDatabaseEntry pData)` This method helps to create the TKeyDataWithPKey argument used in a remote pGet call.
    `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` | `remoteGet(SDatabaseEntry key, SDatabaseEntryBase data, GetHelper.RemoteGetFunction getFunc)`
    `default SOperationStatus` | `remotePGet(SDatabaseEntry sKey, SDatabaseEntry pKey, SDatabaseEntry pData, GetHelper.RemotePGetFunction pGetFunc)`
    `default void` | `updateKeyData(SDatabaseEntry key, SDatabaseEntryBase data, java.util.List<TKeyData> pairs)` This method helps to update the output arguments of a get call, using values returned from a remote get call.
    `default void` | `updateTuple(SDatabaseEntry sKey, SDatabaseEntry pKey, SDatabaseEntry pData, TKeyDataWithPKey tuple)` This method helps to update the output arguments of a pGet call, using values returned from a remote pGet call.

- - ### Method Detail

    - #### createGetSearchTerm

          default TKeyData createGetSearchTerm(SDatabaseEntry key,
                                               SDatabaseEntryBase data)

      This method helps to create the TKeyData argument used in a remote get call.
      Parameters:
        `key` - the key argument
        `data` - the data argument
      Returns:
        the search term used for a remote get call

    - #### createPGetSearchTerm

          default TKeyDataWithPKey createPGetSearchTerm(SDatabaseEntry sKey,
                                                        SDatabaseEntry pKey,
                                                        SDatabaseEntry pData)

      This method helps to create the TKeyDataWithPKey argument used in a remote pGet call.
      Parameters:
        `sKey` - the sKey argument
        `pKey` - the pKey argument
        `pData` - the pData argument
      Returns:
        the search term used for a remote pGet call

    - #### updateKeyData

          default void updateKeyData(SDatabaseEntry key,
                                     SDatabaseEntryBase data,
                                     java.util.List<TKeyData> pairs)

      This method helps to update the output arguments of a get call, using values returned from a remote get call.
      Parameters:
        `key` - the key argument
        `data` - the data argument
        `pairs` - the key / data pairs retrieved from a remote get call

    - #### updateTuple

          default void updateTuple(SDatabaseEntry sKey,
                                   SDatabaseEntry pKey,
                                   SDatabaseEntry pData,
                                   TKeyDataWithPKey tuple)

      This method helps to update the output arguments of a pGet call, using values returned from a remote pGet call.
      Parameters:
        `sKey` - the sKey argument
        `pKey` - the pKey argument
        `pData` - the pData argument
        `tuple` - the tuple returned from a remote pGet call

    - #### remoteGet

          default SOperationStatus remoteGet(SDatabaseEntry key,
                                             SDatabaseEntryBase data,
                                             GetHelper.RemoteGetFunction getFunc)
                                      throws SDatabaseException

      Throws:
        `SDatabaseException`

    - #### remotePGet

          default SOperationStatus remotePGet(SDatabaseEntry sKey,
                                              SDatabaseEntry pKey,
                                              SDatabaseEntry pData,
                                              GetHelper.RemotePGetFunction pGetFunc)
                                       throws SDatabaseException

      Throws:
        `SDatabaseException`

    - #### 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.