com.sleepycat.db

## Class JoinConfig

- java.lang.Object
- - com.sleepycat.db.JoinConfig

- All Implemented Interfaces:
    java.lang.Cloneable

      public class JoinConfig
      extends java.lang.Object
      implements java.lang.Cloneable

  The configuration properties of a `JoinCursor`. The join cursor configuration is specified when calling `Database.join`.

  To create a configuration object with default attributes:

          JoinConfig config = new JoinConfig();

  To set custom attributes:

          JoinConfig config = new JoinConfig();
          config.setNoSort(true);

  See Also:
    `Database.join`, `JoinCursor`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static JoinConfig` | `DEFAULT` Default configuration used if null is passed to `Database.join`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JoinConfig()` Creates an instance with the system's default settings.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `getNoSort()` Returns whether automatic sorting of the input cursors is disabled.
    `void` | `setNoSort(boolean noSort)` Specifies whether automatic sorting of the input cursors is disabled.

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

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

- - ### Field Detail

    - #### DEFAULT

          public static final JoinConfig DEFAULT

      Default configuration used if null is passed to `Database.join`

  - ### Constructor Detail

    - #### JoinConfig

          public JoinConfig()

      Creates an instance with the system's default settings.

  - ### Method Detail

    - #### setNoSort

          public void setNoSort(boolean noSort)

      Specifies whether automatic sorting of the input cursors is disabled.

      Joined values are retrieved by doing a sequential iteration over the first cursor in the cursor array, and a nested iteration over each following cursor in the order they are specified in the array. This requires database traversals to search for the current datum in all the cursors after the first. For this reason, the best join performance normally results from sorting the cursors from the one that refers to the least number of data items to the one that refers to the most. Unless this method is called with true, `Database.join` does this sort on behalf of its caller.

      If the data are structured so that cursors with many data items also share many common elements, higher performance will result from listing those cursors before cursors with fewer data items; that is, a sort order other than the default. Calling this method permits applications to perform join optimization prior to calling `Database.join`.

      Parameters:
        `noSort` - whether automatic sorting of the input cursors is disabled.

      See Also:
        `Database.join`

    - #### getNoSort

          public boolean getNoSort()

      Returns whether automatic sorting of the input cursors is disabled.

      Returns:
        whether automatic sorting of the input cursors is disabled.
      See Also:
        `setNoSort(boolean)`

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