com.smartgwt.client.types

## Enum LinkDataFetchMode

- java.lang.Object
- - java.lang.Enum<LinkDataFetchMode>
  - - com.smartgwt.client.types.LinkDataFetchMode

- All Implemented Interfaces:
    ValueEnum, java.io.Serializable, java.lang.Comparable<LinkDataFetchMode>

      public enum LinkDataFetchMode
      extends java.lang.Enum<LinkDataFetchMode>
      implements ValueEnum

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `SEPARATE` In this mode, link data is fetched from the `ResultTree.linkDataSource` and nodes are separately fetched from the `ResultTree.dataSource`.
    `SINGLE` In this mode, nodes and link data are fetched together from the main `ResultTree.dataSource`, and any duplicated node IDs are handled by creating multiple links to a single node.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getValue()`
    `static LinkDataFetchMode` | `valueOf(java.lang.String name)` Returns the enum constant of this type with the specified name.
    `static LinkDataFetchMode[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

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

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

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

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### SEPARATE

          public static final LinkDataFetchMode SEPARATE

      In this mode, link data is fetched from the `ResultTree.linkDataSource` and nodes are separately fetched from the `ResultTree.dataSource`. The two fetches are sent together in a `queue`, with the link data fetch first and the separate node fetch second. This makes it possible for your server-side code to use the results of the link data fetch to constrain the node fetch (ie, only fetch node information for nodes that appear in a link)

      If this enumerated value is used in a `Component XML` file or server-side DataSource descriptor (.ds.xml file), use the value "separate".

    - #### SINGLE

          public static final LinkDataFetchMode SINGLE

      In this mode, nodes and link data are fetched together from the main `ResultTree.dataSource`, and any duplicated node IDs are handled by creating multiple links to a single node. In this mode, the `ResultTree.linkDataSource` is only used for update operations.

      Note that the end result of a "single" fetch is exactly the same as fetching link data and nodes separately using "separate" mode; "separate" mode is also conceptually clearer since it emphasises the fact that nodes and link data are separate things. We provide "single" mode because, in some cases, it may be more efficient to fetch the two types of data together in a single database fetch, using `DataSourceField.includeFrom` or some other kind of join technique on the server.

      If this enumerated value is used in a `Component XML` file or server-side DataSource descriptor (.ds.xml file), use the value "single".

  - ### Method Detail

    - #### values

          public static LinkDataFetchMode[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (LinkDataFetchMode c : LinkDataFetchMode.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static LinkDataFetchMode valueOf(java.lang.String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `java.lang.IllegalArgumentException` - if this enum type has no constant with the specified name
        `java.lang.NullPointerException` - if the argument is null

    - #### getValue

          public java.lang.String getValue()

      Specified by:
        `getValue` in interface `ValueEnum`