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 and 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
`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.