Package com.verisign.epp.codec.relateddomainext

## Class EPPRelatedDomainExtGroup

- java.lang.Object
- - com.verisign.epp.codec.relateddomainext.EPPRelatedDomainExtGroup

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

      public class EPPRelatedDomainExtGroup
      extends java.lang.Object
      implements EPPCodecComponent

  EPPCodecComponent that encodes and decodes a <relDom:group> tag

  Title: EPP 1.0 Related Domain - group tag

  Description: The EPPRelatedDomainExtGroup object represents the collection of domains that are available for registration in a family of related domains. As such it is composed of `EPPRelatedDomainExtFields`, `EPPRelatedDomainExtAvailable` and `EPPRelatedDomainExtRegistered` objects.
  As XML, it is represented by a <relDom:available> element containing a number of <relDom:name> elements.

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `ELM_NAME` | Element tag name for the group
    `static java.lang.String` | `TYPE_TLD` | Relationship of domains is based on Top Level Domain (TLD) relationship.
    `static java.lang.String` | `TYPE_VARIANT` | Relationship of domains is based on variant relationship within a Top Level Domain (TLD).

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EPPRelatedDomainExtGroup()` | Default constructor
    `EPPRelatedDomainExtGroup​(java.lang.String aType, EPPRelatedDomainExtFields aFields)` | Constructor that takes the required attributes including the `type` and the `fields`.
    `EPPRelatedDomainExtGroup​(java.lang.String aType, EPPRelatedDomainExtFields aFields, EPPRelatedDomainExtAvailable aAvailable, EPPRelatedDomainExtRegistered aRegistered)` | Constructor that takes all of the attributes as parameters.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `clone()` | A deep clone of the EPPRelatedDomainAvailable
    `void` | `decode​(org.w3c.dom.Element aElement)` | Populate the data of this instance with the data stored in the given Element of the DOM tree
    `org.w3c.dom.Element` | `encode​(org.w3c.dom.Document aDocument)` | Append all data from this group to the given DOM Document
    `boolean` | `equals​(java.lang.Object obj)` |
    `EPPRelatedDomainExtAvailable` | `getAvailable()` | Returns the available
    `EPPRelatedDomainExtFields` | `getFields()` | Returns the fields
    `java.lang.String` | `getNamespace()` | Returns the XML namespace associated with the `EPPCodecComponent`.
    `EPPRelatedDomainExtRegistered` | `getRegistered()` | Returns the registered
    `java.lang.String` | `getType()` | Returns the type
    `void` | `setAvailable​(EPPRelatedDomainExtAvailable aAvailable)` | Sets available value to aAvailable
    `void` | `setFields​(EPPRelatedDomainExtFields aFields)` | Sets fields value to aFields
    `void` | `setRegistered​(EPPRelatedDomainExtRegistered aRegistered)` | Sets registered value to aRegistered
    `void` | `setType​(java.lang.String aType)` | Sets type value to aType
    `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

    - #### ELM_NAME

          public static final java.lang.String ELM_NAME

      Element tag name for the group
      See Also:
        Constant Field Values

    - #### TYPE_TLD

          public static final java.lang.String TYPE_TLD

      Relationship of domains is based on Top Level Domain (TLD) relationship.
      See Also:
        Constant Field Values

    - #### TYPE_VARIANT

          public static final java.lang.String TYPE_VARIANT

      Relationship of domains is based on variant relationship within a Top Level Domain (TLD).
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EPPRelatedDomainExtGroup

          public EPPRelatedDomainExtGroup()

      Default constructor

    - #### EPPRelatedDomainExtGroup

          public EPPRelatedDomainExtGroup​(java.lang.String aType,
                                          EPPRelatedDomainExtFields aFields)

      Constructor that takes the required attributes including the `type` and the `fields`.
      Parameters:
        `aType` - What type of group is it? One of the `TYPE` constants may be used.
        `aFields` - The field information for the group

    - #### EPPRelatedDomainExtGroup

          public EPPRelatedDomainExtGroup​(java.lang.String aType,
                                          EPPRelatedDomainExtFields aFields,
                                          EPPRelatedDomainExtAvailable aAvailable,
                                          EPPRelatedDomainExtRegistered aRegistered)

      Constructor that takes all of the attributes as parameters.
      Parameters:
        `aType` - What type of group is it? One of the `TYPE` constants may be used.
        `aFields` - The field information for the group
        `aAvailable` - The list of available related names for the group.
        `aRegistered` - The list of registered related name for the group.

  - ### Method Detail

    - #### clone

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

      A deep clone of the EPPRelatedDomainAvailable
      Specified by:
        `clone` in interface `EPPCodecComponent`
      Overrides:
        `clone` in class `java.lang.Object`
      Returns:
        clone of concrete `EPPCodecComponent`
      Throws:
        `java.lang.CloneNotSupportedException` - standard Object.clone exception
      See Also:
        `Object.clone()`

    - #### decode

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

      Populate the data of this instance with the data stored in the given Element of the DOM tree
      Specified by:
        `decode` in interface `EPPCodecComponent`
      Parameters:
        `aElement` - The root element of the report fragment of XML
      Throws:
        `EPPDecodeException` - Thrown if any errors occur during decoding.

    - #### encode

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

      Append all data from this group to the given DOM Document
      Specified by:
        `encode` in interface `EPPCodecComponent`
      Parameters:
        `aDocument` - The DOM Document to append data to
      Returns:
        Encoded DOM `Element`
      Throws:
        `EPPEncodeException` - Thrown when errors occur during the encode attempt or if the instance is invalid.

    - #### equals

          public boolean equals​(java.lang.Object obj)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### getAvailable

          public EPPRelatedDomainExtAvailable getAvailable()

      Returns the available
      Returns:
        the available

    - #### getFields

          public EPPRelatedDomainExtFields getFields()

      Returns the fields
      Returns:
        the fields

    - #### getRegistered

          public EPPRelatedDomainExtRegistered getRegistered()

      Returns the registered
      Returns:
        the registered

    - #### getType

          public java.lang.String getType()

      Returns the type
      Returns:
        the type

    - #### setAvailable

          public void setAvailable​(EPPRelatedDomainExtAvailable aAvailable)

      Sets available value to aAvailable
      Parameters:
        `aAvailable` - the available to set

    - #### setFields

          public void setFields​(EPPRelatedDomainExtFields aFields)

      Sets fields value to aFields
      Parameters:
        `aFields` - the fields to set

    - #### setRegistered

          public void setRegistered​(EPPRelatedDomainExtRegistered aRegistered)

      Sets registered value to aRegistered
      Parameters:
        `aRegistered` - the registered to set

    - #### setType

          public void setType​(java.lang.String aType)

      Sets type value to aType
      Parameters:
        `aType` - the type to set

    - #### 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`.