Package com.sleepycat.db

## Class MultipleKeyDataEntry

- java.lang.Object
- - com.sleepycat.db.DatabaseEntry
  - - com.sleepycat.db.MultipleEntry
    - - com.sleepycat.db.MultipleKeyDataEntry

-     public class MultipleKeyDataEntry
      extends MultipleEntry

  A DatabaseEntry that holds multiple key/data pairs returned by a single `Database` or `Cursor` get call.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MultipleKeyDataEntry()` | Construct an entry with no data.
    `MultipleKeyDataEntry​(byte[] data)` | Construct an entry with a given byte array.
    `MultipleKeyDataEntry​(byte[] data, int offset, int size)` | Constructs a DatabaseEntry with a given byte array, offset and size.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `append​(byte[] key, byte[] data)` | Append an entry to the bulk buffer.
    `boolean` | `append​(byte[] key, int koff, int klen, byte[] data, int doff, int dlen)` | Append an entry to the bulk buffer.
    `boolean` | `append​(DatabaseEntry key, DatabaseEntry data)` | Append an entry to the bulk buffer.
    `boolean` | `next​(DatabaseEntry key, DatabaseEntry data)` | Get the next key/data pair in the returned set.

    - ### Methods inherited from class com.sleepycat.db.MultipleEntry

      `append_internal, append_internal, setUserBuffer`

    - ### Methods inherited from class com.sleepycat.db.DatabaseEntry

      `equals, getBlob, getData, getDataNIO, getExternalFile, getOffset, getPartial, getPartialLength, getPartialOffset, getReadOnly, getRecordNumber, getReuseBuffer, getSize, getUserBuffer, getUserBufferLength, hashCode, setBlob, setData, setData, setDataNIO, setDataNIO, setExternalFile, setOffset, setPartial, setPartial, setPartialLength, setPartialOffset, setReadOnly, setRecordNumber, setReuseBuffer, setSize`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MultipleKeyDataEntry

          public MultipleKeyDataEntry()

      Construct an entry with no data. The object must be configured before use with the `MultipleEntry.setUserBuffer` method.

    - #### MultipleKeyDataEntry

          public MultipleKeyDataEntry​(byte[] data)

      Construct an entry with a given byte array. The offset is set to zero; the size is set to the length of the array. If null is passed, the object must be configured before use with the `MultipleEntry.setUserBuffer` method.

      Parameters:
        `data` - Byte array wrapped by the entry.

    - #### MultipleKeyDataEntry

          public MultipleKeyDataEntry​(byte[] data,
                                      int offset,
                                      int size)

      Constructs a DatabaseEntry with a given byte array, offset and size.

      Parameters:
        `data` - Byte array wrapped by the DatabaseEntry.
        `offset` - Offset in the first byte in the byte array to be included.
        `size` - Number of bytes in the byte array to be included.

  - ### Method Detail

    - #### next

          public boolean next​(DatabaseEntry key,
                              DatabaseEntry data)

      Get the next key/data pair in the returned set. This method may only be called after a successful call to a `Database` or `Cursor` get method with this object as the data parameter.

      Parameters:
        `key` - an entry that is set to refer to the next key element in the returned set.

        `data` - an entry that is set to refer to the next data element in the returned set.

      Returns:
        indicates whether a value was found. A return of `false` indicates that the end of the set was reached.

    - #### append

          public boolean append​(byte[] key,
                                int koff,
                                int klen,
                                byte[] data,
                                int doff,
                                int dlen)
                         throws DatabaseException

      Append an entry to the bulk buffer.

      Parameters:
        `key` - an array containing the key to be added.
        `koff` - the position in the key array where the record starts.
        `klen` - the length of the record, in bytes, to be copied from the key array.
        `data` - an array containing the value to be added.
        `doff` - the position in the data array where the record starts.
        `dlen` - the length of the record, in bytes, to be copied from the data array.

      Returns:
        indicates whether there was space. A return of `false` indicates that the specified entry could not fit in the buffer.
      Throws:
        `DatabaseException` - if a failure occurs.

    - #### append

          public boolean append​(DatabaseEntry key,
                                DatabaseEntry data)
                         throws DatabaseException

      Append an entry to the bulk buffer.

      Parameters:
        `key` - the key to be appended, using the offset and size specified in the `DatabaseEntry`.
        `data` - the value to be appended, using the offset and size specified in the `DatabaseEntry`.

      Returns:
        indicates whether there was space. A return of `false` indicates that the specified entry could not fit in the buffer.
      Throws:
        `DatabaseException` - if a failure occurs.

    - #### append

          public boolean append​(byte[] key,
                                byte[] data)
                         throws DatabaseException

      Append an entry to the bulk buffer.

      Parameters:
        `key` - an array containing the key to be added.
        `data` - an array containing the value to be added.

      Returns:
        indicates whether there was space. A return of `false` indicates that the specified entry could not fit in the buffer.
      Throws:
        `DatabaseException` - if a failure occurs.

Copyright (c) 1996, 2020 Oracle and/or its affiliates. All rights reserved.