DiskOrderedCursorConfig (Oracle - Berkeley DB Java Edition API)
Date: 2014-12-16

com.sleepycat.je

## Class DiskOrderedCursorConfig

- java.lang.Object
- - com.sleepycat.je.DiskOrderedCursorConfig

- All Implemented Interfaces:
    Cloneable

      public class DiskOrderedCursorConfig
      extends Object
      implements Cloneable

  Specifies the attributes of a DiskOrderedCursor.
  Since:
    5.0

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static DiskOrderedCursorConfig` | `DEFAULT` Default configuration used if null is passed to methods that create a cursor.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DiskOrderedCursorConfig()` An instance created using the default constructor is initialized with the system's default settings.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DiskOrderedCursorConfig` | `clone()` Returns a copy of this configuration object.
    `long` | `getInternalMemoryLimit()` Returns the maximum amount of non JE Cache Memory that the DiskOrderedScan can use at one time.
    `boolean` | `getKeysOnly()` Returns true if the DiskOrderedCursor is configured to return only keys.
    `long` | `getLSNBatchSize()` Returns the maximum number of LSNs to be sorted that this DiskOrderedCursor is configured for.
    `long` | `getMaxSeedMillisecs()` Deprecated. this method returns zero and will be removed in a future release.
    `long` | `getMaxSeedNodes()` Deprecated. this method returns zero and will be removed in a future release.
    `int` | `getQueueSize()` Returns the maximum number of entries in the queue before the DiskOrderedCursor producer thread blocks.
    `DiskOrderedCursorConfig` | `setInternalMemoryLimit(long internalMemoryLimit)` Set the maximum amount of non JE Cache Memory that the DiskOrderedScan can use at one time.
    `DiskOrderedCursorConfig` | `setKeysOnly(boolean keysOnly)` Specify whether the DiskOrderedCursor should return only the key or key + data.
    `DiskOrderedCursorConfig` | `setLSNBatchSize(long lsnBatchSize)` Set the maximum number of LSNs to gather and sort at any one time.
    `DiskOrderedCursorConfig` | `setMaxSeedMillisecs(long maxSeedMillisecs)` Deprecated. this method has no effect and will be removed in a future release.
    `DiskOrderedCursorConfig` | `setMaxSeedNodes(long maxSeedNodes)` Deprecated. this method has no effect and will be removed in a future release.
    `DiskOrderedCursorConfig` | `setQueueSize(int queueSize)` Set the queue size for entries being passed between the DiskOrderedCursor producer thread and the application's consumer thread.
    `String` | `toString()` Returns the values for each configuration attribute.

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

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT

          public static final DiskOrderedCursorConfig DEFAULT

      Default configuration used if null is passed to methods that create a cursor.

  - ### Constructor Detail

    - #### DiskOrderedCursorConfig

          public DiskOrderedCursorConfig()

      An instance created using the default constructor is initialized with the system's default settings.

  - ### Method Detail

    - #### setKeysOnly

          public DiskOrderedCursorConfig setKeysOnly(boolean keysOnly)

      Specify whether the DiskOrderedCursor should return only the key or key + data. The default value is false (key + data). If keyOnly is true, then no duplicate records are returned (i.e. the Cursor only descends to the BIN level). If keysOnly is false, then all records, including duplicates are returned.
      Parameters:
        `keysOnly` - If true, return only keys from this cursor.
      Returns:
        this

    - #### getKeysOnly

          public boolean getKeysOnly()

      Returns true if the DiskOrderedCursor is configured to return only keys. Returns false if it is configured to return keys + data.
      Returns:
        true if the DiskOrderedCursor is configured to return keys only.

    - #### setLSNBatchSize

          public DiskOrderedCursorConfig setLSNBatchSize(long lsnBatchSize)

      Set the maximum number of LSNs to gather and sort at any one time. The default is an unlimited number of LSNs. Setting this lower causes the DiskOrderedScan to use less memory, but it sorts and processes LSNs more frequently thereby causing slower performance. Setting this higher will in general improve performance at the expense of memory. Each LSN uses 16 bytes of memory.
      Parameters:
        `lsnBatchSize` - the maximum number of LSNs to accumulate and sort per batch.
      Returns:
        this

    - #### getLSNBatchSize

          public long getLSNBatchSize()

      Returns the maximum number of LSNs to be sorted that this DiskOrderedCursor is configured for.
      Returns:
        the maximum number of LSNs to be sorted that this DiskOrderedCursor is configured for.

    - #### setInternalMemoryLimit

          public DiskOrderedCursorConfig setInternalMemoryLimit(long internalMemoryLimit)

      Set the maximum amount of non JE Cache Memory that the DiskOrderedScan can use at one time. The default is an unlimited amount of memory. Setting this lower causes the DiskOrderedScan to use less memory, but it sorts and processes LSNs more frequently thereby generally causing slower performance. Setting this higher will in general improve performance at the expense of memory.
      Parameters:
        `internalMemoryLimit` - the maximum number of non JE Cache bytes to use.
      Returns:
        this

    - #### getInternalMemoryLimit

          public long getInternalMemoryLimit()

      Returns the maximum amount of non JE Cache Memory that the DiskOrderedScan can use at one time.
      Returns:
        the maximum amount of non JE Cache Memory that preload can use at one time.

    - #### setQueueSize

          public DiskOrderedCursorConfig setQueueSize(int queueSize)

      Set the queue size for entries being passed between the DiskOrderedCursor producer thread and the application's consumer thread. If the queue size reaches this number of entries, the producer thread will block until the application thread removes one or more entries (by calling ForwardCursor.getNext(). The default is 1000.
      Parameters:
        `queueSize` - the maximum number of entries the queue can hold before the producer thread blocks.
      Returns:
        this

    - #### getQueueSize

          public int getQueueSize()

      Returns the maximum number of entries in the queue before the DiskOrderedCursor producer thread blocks.
      Returns:
        the maximum number of entries in the queue before the DiskOrderedCursor producer thread blocks.

    - #### setMaxSeedMillisecs

          public DiskOrderedCursorConfig setMaxSeedMillisecs(long maxSeedMillisecs)

      Deprecated. this method has no effect and will be removed in a future release.

    - #### getMaxSeedMillisecs

          public long getMaxSeedMillisecs()

      Deprecated. this method returns zero and will be removed in a future release.

    - #### setMaxSeedNodes

          public DiskOrderedCursorConfig setMaxSeedNodes(long maxSeedNodes)

      Deprecated. this method has no effect and will be removed in a future release.

    - #### getMaxSeedNodes

          public long getMaxSeedNodes()

      Deprecated. this method returns zero and will be removed in a future release.

    - #### clone

          public DiskOrderedCursorConfig clone()

      Returns a copy of this configuration object.
      Overrides:
        `clone` in class `Object`

    - #### toString

          public String toString()

      Returns the values for each configuration attribute.
      Overrides:
        `toString` in class `Object`
      Returns:
        the values for each configuration attribute.

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