com.verisign.epp.codec.registry

## Class EPPRegistryFields

- java.lang.Object
- - com.verisign.epp.codec.registry.EPPRegistryFields

- All Implemented Interfaces:
    EPPCodecComponent, java.io.Serializable, java.lang.Cloneable

      public class EPPRegistryFields
      extends java.lang.Object
      implements EPPCodecComponent

  Class that defines the management of related fields.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `ATTR_TYPE` Required attribute type name that should have a value of either `TYPE_SHARED` or `TYPE_SYNC`.
    `static java.lang.String` | `ELM_LOCALNAME` Constant for the phase local name
    `static java.lang.String` | `ELM_NAME` Constant for the qualified name (prefix and local name)
    `static java.lang.String` | `TYPE_SHARED` Constant for the related zone fields being shared, where there is one set of related fields.
    `static java.lang.String` | `TYPE_SYNC` Constant for the related zone fields required to be synchronized by registry policy.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPRegistryFields()` Default constructor.
    `EPPRegistryFields(java.lang.String aType, java.util.List<java.lang.String> aFields)` Create `EPPRegistryFields` instance with required attributes.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addField(java.lang.String aField)` Adds a field to the list of fields.
    `java.lang.Object` | `clone()` Clone `EPPRegistryFields`.
    `void` | `decode(org.w3c.dom.Element aElement)` Decode the `EPPRegistryFields` element aElement DOM Element tree.
    `org.w3c.dom.Element` | `encode(org.w3c.dom.Document aDocument)` Encode a DOM Element tree from the attributes of the `EPPRegistryFields` instance.
    `boolean` | `equals(java.lang.Object aObject)` implements a deep `EPPRegistryFields` compare.
    `java.util.List<java.lang.String>` | `getFields()` Gets the related field names.
    `java.lang.String` | `getNamespace()` Returns the XML namespace associated with the `EPPCodecComponent`.
    `java.lang.String` | `getType()` Gets the related fields type, which should be either `TYPE_SHARED` or `TYPE_SYNC`.
    `void` | `setFields(java.util.List<java.lang.String> aFields)` Sets the related field names.
    `void` | `setType(java.lang.String aType)` Sets the related fields type, which should be either `TYPE_SHARED` or `TYPE_SYNC`.
    `java.lang.String` | `toString()` Implementation of `Object.toString`, which will result in an indented XML `String` representation of the concrete `EPPCodecComponent`.

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

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

- - ### Field Detail

    - #### TYPE_SHARED

          public static final java.lang.String TYPE_SHARED

      Constant for the related zone fields being shared, where there is one set of related fields. Updating a field in one related zone results in updating the field value across all of the related zones.
      See Also:
        Constant Field Values

    - #### TYPE_SYNC

          public static final java.lang.String TYPE_SYNC

      Constant for the related zone fields required to be synchronized by registry policy. Updating a field in one related zone does not result in updating the field across all of the related zones.
      See Also:
        Constant Field Values

    - #### ELM_LOCALNAME

          public static final java.lang.String ELM_LOCALNAME

      Constant for the phase local name
      See Also:
        Constant Field Values

    - #### ELM_NAME

          public static final java.lang.String ELM_NAME

      Constant for the qualified name (prefix and local name)
      See Also:
        Constant Field Values

    - #### ATTR_TYPE

          public static final java.lang.String ATTR_TYPE

      Required attribute type name that should have a value of either `TYPE_SHARED` or `TYPE_SYNC`.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EPPRegistryFields

          public EPPRegistryFields()

      Default constructor. The type value MUST be set using the `setType(String)` method and the fields MUST be set using `setFields(List)` or `addField(String)`.

    - #### EPPRegistryFields

          public EPPRegistryFields(java.lang.String aType,
                                   java.util.List<java.lang.String> aFields)

      Create `EPPRegistryFields` instance with required attributes.
      Parameters:
        `aType` - Type of related fields with either `TYPE_SHARED` or `TYPE_SYNC`.
        `aFields` - List of related fields.

  - ### Method Detail

    - #### getType

          public java.lang.String getType()

      Gets the related fields type, which should be either `TYPE_SHARED` or `TYPE_SYNC`.
      Returns:
        `TYPE_SHARED` or `TYPE_SYNC` if defined; `null` otherwise.

    - #### setType

          public void setType(java.lang.String aType)

      Sets the related fields type, which should be either `TYPE_SHARED` or `TYPE_SYNC`.
      Parameters:
        `aType` - the type, which should be either `TYPE_SHARED` or `TYPE_SYNC`

    - #### getFields

          public java.util.List<java.lang.String> getFields()

      Gets the related field names.
      Returns:
        List of related field names.

    - #### setFields

          public void setFields(java.util.List<java.lang.String> aFields)

      Sets the related field names.
      Parameters:
        `aFields` - The list of related field names.

    - #### addField

          public void addField(java.lang.String aField)

      Adds a field to the list of fields.
      Parameters:
        `aField` - Field to add to the list of fields.

    - #### clone

          public java.lang.Object clone()
                                 throws java.lang.CloneNotSupportedException

      Clone `EPPRegistryFields`.
      Specified by:
        `clone` in interface `EPPCodecComponent`
      Overrides:
        `clone` in class `java.lang.Object`
      Returns:
        clone of `EPPRegistryFields`
      Throws:
        `java.lang.CloneNotSupportedException` - standard Object.clone exception

    - #### decode

          public void decode(org.w3c.dom.Element aElement)
                      throws EPPDecodeException

      Decode the `EPPRegistryFields` element aElement DOM Element tree.
      Specified by:
        `decode` in interface `EPPCodecComponent`
      Parameters:
        `aElement` - - Root DOM Element to decode `EPPRegistryFields` from.
      Throws:
        `EPPDecodeException` - Unable to decode aElement

    - #### encode

          public org.w3c.dom.Element encode(org.w3c.dom.Document aDocument)
                                     throws EPPEncodeException

      Encode a DOM Element tree from the attributes of the `EPPRegistryFields` instance.
      Specified by:
        `encode` in interface `EPPCodecComponent`
      Parameters:
        `aDocument` - - DOM Document that is being built. Used as an Element factory.
      Returns:
        Element - Root DOM Element representing the `EPPRegistryFields` instance.
      Throws:
        `EPPEncodeException` - - Unable to encode `EPPRegistryFields` instance.

    - #### equals

          public boolean equals(java.lang.Object aObject)

      implements a deep `EPPRegistryFields` compare.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `aObject` - `EPPRegistryFields` instance to compare with
      Returns:
        `true` if equal; `false` otherwise

    - #### toString

          public java.lang.String toString()

      Implementation of `Object.toString`, which will result in an indented XML `String` representation of the concrete `EPPCodecComponent`.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        Indented XML `String` if successful; `ERROR` otherwise.

    - #### getNamespace

          public java.lang.String getNamespace()

      Returns the XML namespace associated with the `EPPCodecComponent`.
      Specified by:
        `getNamespace` in interface `EPPCodecComponent`
      Returns:
        XML namespace for the `EPPCodecComponent`.