com.smartgwt.client.types

## Enum JSONCircularReferenceMode

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

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

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

  What the `JSONEncoder` should do when it encounters a circular reference in an object structure.

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `MARKER` leave a string marker, the `circularReferenceMarker`, wherever a circular reference is found
    `OMIT` circular references in Arrays will be represented as a null entry, and objects will have a property with a null value
    `PATH` leave a string marker followed by the path to the first occurrence of the circular reference from the top of the object tree that was serialized.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getValue()`
    `static JSONCircularReferenceMode` | `valueOf(java.lang.String name)` Returns the enum constant of this type with the specified name.
    `static JSONCircularReferenceMode[]` | `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

    - #### OMIT

          public static final JSONCircularReferenceMode OMIT

      circular references in Arrays will be represented as a null entry, and objects will have a property with a null value

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

    - #### MARKER

          public static final JSONCircularReferenceMode MARKER

      leave a string marker, the `circularReferenceMarker`, wherever a circular reference is found

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

    - #### PATH

          public static final JSONCircularReferenceMode PATH

      leave a string marker followed by the path to the first occurrence of the circular reference from the top of the object tree that was serialized. This potentially allows the original object graph to be reconstructed.

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

  - ### Method Detail

    - #### values

          public static JSONCircularReferenceMode[] 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 (JSONCircularReferenceMode c : JSONCircularReferenceMode.values())
              System.out.println(c);

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

    - #### valueOf

          public static JSONCircularReferenceMode 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`