com.verisign.epp.codec.registry

## Class EPPRegistryDomainName

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

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

      public class EPPRegistryDomainName
      extends java.lang.Object
      implements EPPCodecComponent

  This class is encoded to the <registry:domainName> element inside the <registry:domain> element. It represents policies for a domain name label for a specific level, defined with the "level" attribute, with a minimum value of "2" for the second level domain name label level. The <registry:domainName> element contains the following child elements
  - <registry:minLength> - An OPTIONAL minimum length of the domain name label. Use `getMinLength()` and `setMinLength(Integer)` to get and set the element.
  - <registry:maxLength> - An OPTIONAL maximum length of the domain name label. Use `getMaxLength()` and `setMaxLength(Integer)` to get and set the element.
  - <registry:alphaNumStart> - An OPTIONAL flag indicating whether the label must start with an alphanumeric character with a default of "false". Use `getAlphaNumStart()` and `setAlphaNumStart(Boolean)` to get and set the element.
  - <registry:alphaNumEnd> - An OPTIONAL flag indicating whether the label must end with an alphanumeric character with a default value of "false". Use `getAlphaNumEnd()` and `setAlphaNumEnd(Boolean)` to get and set the element.
  - <registry:onlyDnsChars> - An OPTIONAL flag indicating whether the label MUST only contain valid DNS characters (alphanumeric and '-') with a default value of "true". Use `getOnlyDnsChars()` and `setOnlyDnsChars(Boolean)` to get and set the element.
  - <registry:regex> - Zero or more <registry:regex> elements that contain a <registry:expression> child element that defines the regular expression to apply to domain name label along with an OPTIONAL <registry:explanation> child element that describes the regular expression with an OPTIONAL "lang" attribute that defines the language of the explanation with a default value of "en". Use `getRegex()` and `setRegex(List)` to get and set the element.
  - <registry:reservedNames> - An OPTIONAL element that defines the set of reserved domain names starting from that label level. The reserved names can refer to values with more than one level which is relative to the level of the parent <registry:domainName> element. Use `getReservedNames()` and `setReservedNames(EPPRegistryReservedNames)` to get and set the element.
  See Also:
    `EPPRegistryDomain`, `EPPRegistryReservedNames`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPRegistryDomainName()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addRegex(EPPRegistryRegex re)` Append one instance of `EPPRegistryRegex` to the existing `List`.
    `java.lang.Object` | `clone()` Clone `EPPRegistryDomainName`.
    `void` | `decode(org.w3c.dom.Element aElement)` Decode the `EPPRegistryDomainName` attributes from the aElement DOM Element tree.
    `org.w3c.dom.Element` | `encode(org.w3c.dom.Document aDocument)` Encode a DOM Element tree from the attributes of the `EPPRegistryDomainName` instance.
    `boolean` | `equals(java.lang.Object aObject)` implements a deep `EPPRegistryDomainName` compare.
    `java.lang.Boolean` | `getAlphaNumEnd()` Get whether or not to allow domain name end with an alphanumeric character.
    `java.lang.Boolean` | `getAlphaNumStart()` Get whether or not to allow domain name start with an alphanumeric character.
    `java.lang.Integer` | `getLevel()` Get the level of domain name.
    `java.lang.Integer` | `getMaxLength()` Get maximum number of characters in a domain name.
    `java.lang.Integer` | `getMinLength()` Get minimum number of characters in a domain name.
    `java.lang.String` | `getNamespace()` Returns the XML namespace associated with the `EPPCodecComponent`.
    `java.lang.Boolean` | `getOnlyDnsChars()` Get whether to limit only DNS characters in the domain name.
    `java.util.List` | `getRegex()` Get the `List` of `EPPRegistryRegex` regular expressions that domain name must follow.
    `EPPRegistryReservedNames` | `getReservedNames()` Get the instance of `EPPRegistryReservedNames` that defines a set of reserved domain names.
    `void` | `setAlphaNumEnd(java.lang.Boolean alphaNumEnd)` Set whether or not to allow domain name end with an alphanumeric character.
    `void` | `setAlphaNumStart(java.lang.Boolean alphaNumStart)` Set whether or not to allow domain name start with an alphanumeric character.
    `void` | `setLevel(java.lang.Integer level)` Set the level of domain name.
    `void` | `setMaxLength(java.lang.Integer maxLength)` Set maximum number of characters in a domain name.
    `void` | `setMinLength(java.lang.Integer minLength)` Set minimum number of characters in a domain name.
    `void` | `setOnlyDnsChars(java.lang.Boolean onlyDnsChars)` Set whether to limit only DNS characters in the domain name.
    `void` | `setRegex(java.util.List regex)` Set the `List` of `EPPRegistryRegex` regular expressions that domain name must follow.
    `void` | `setReservedNames(EPPRegistryReservedNames reservedNames)` Set the instance of `EPPRegistryReservedNames` that defines a set of reserved domain names.
    `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`

- - ### Constructor Detail

    - #### EPPRegistryDomainName

          public EPPRegistryDomainName()

  - ### Method Detail

    - #### encode

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

      Encode a DOM Element tree from the attributes of the `EPPRegistryDomainName` 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 `EPPRegistryDomainName` instance.
      Throws:
        `EPPEncodeException` - - Unable to encode `EPPRegistryDomainName` instance.

    - #### decode

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

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

    - #### equals

          public boolean equals(java.lang.Object aObject)

      implements a deep `EPPRegistryDomainName` compare.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `aObject` - `EPPRegistryDomainName` instance to compare with
      Returns:
        `true` if this object is the same as the aObject argument; `false` otherwise

    - #### clone

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

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

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

    - #### getLevel

          public java.lang.Integer getLevel()

      Get the level of domain name.
      Returns:
        level of domain name. Must be >= 2

    - #### setLevel

          public void setLevel(java.lang.Integer level)

      Set the level of domain name.
      Parameters:
        `level` - level of domain name. Must be >= 2

    - #### getMinLength

          public java.lang.Integer getMinLength()

      Get minimum number of characters in a domain name.
      Returns:
        minimum number of characters in a domain name

    - #### setMinLength

          public void setMinLength(java.lang.Integer minLength)

      Set minimum number of characters in a domain name.
      Parameters:
        `minLength` - minimum number of characters in a domain name

    - #### getMaxLength

          public java.lang.Integer getMaxLength()

      Get maximum number of characters in a domain name.
      Returns:
        maximum number of characters in a domain name

    - #### setMaxLength

          public void setMaxLength(java.lang.Integer maxLength)

      Set maximum number of characters in a domain name.
      Parameters:
        `maxLength` - maximum number of characters in a domain name

    - #### getAlphaNumStart

          public java.lang.Boolean getAlphaNumStart()

      Get whether or not to allow domain name start with an alphanumeric character.
      Returns:
        `true` allow domain name start with an alphanumeric character. `false` do not allow domain name start with an alphanumeric character

    - #### setAlphaNumStart

          public void setAlphaNumStart(java.lang.Boolean alphaNumStart)

      Set whether or not to allow domain name start with an alphanumeric character.
      Parameters:
        `alphaNumStart` - `true` allow domain name start with an alphanumeric character. `false` do not allow domain name start with an alphanumeric character

    - #### getAlphaNumEnd

          public java.lang.Boolean getAlphaNumEnd()

      Get whether or not to allow domain name end with an alphanumeric character.
      Returns:
        `true` allow domain name end with an alphanumeric character. `false` do not allow domain name end with an alphanumeric character

    - #### setAlphaNumEnd

          public void setAlphaNumEnd(java.lang.Boolean alphaNumEnd)

      Set whether or not to allow domain name end with an alphanumeric character.
      Parameters:
        `alphaNumEnd` - `true` allow domain name end with an alphanumeric character. `false` do not allow domain name end with an alphanumeric character

    - #### getOnlyDnsChars

          public java.lang.Boolean getOnlyDnsChars()

      Get whether to limit only DNS characters in the domain name.
      Returns:
        `true` allow only DNS characters (alphanumeric and '-') in the domain name. `false` allow non-DNS characters in the domain name

    - #### setOnlyDnsChars

          public void setOnlyDnsChars(java.lang.Boolean onlyDnsChars)

      Set whether to limit only DNS characters in the domain name.
      Parameters:
        `onlyDnsChars` - `true` allow only DNS characters (alphanumeric and '-') in the domain name. `false` allow non-DNS characters in the domain name

    - #### getRegex

          public java.util.List getRegex()

      Get the `List` of `EPPRegistryRegex` regular expressions that domain name must follow.
      Returns:
        `List` of `EPPRegistryRegex` regular expressions

    - #### addRegex

          public void addRegex(EPPRegistryRegex re)

      Append one instance of `EPPRegistryRegex` to the existing `List`.
      Parameters:
        `re` - instance of `EPPRegistryRegex`

    - #### setRegex

          public void setRegex(java.util.List regex)

      Set the `List` of `EPPRegistryRegex` regular expressions that domain name must follow.
      Parameters:
        `regex` - `List` of `EPPRegistryRegex` regular expressions

    - #### getReservedNames

          public EPPRegistryReservedNames getReservedNames()

      Get the instance of `EPPRegistryReservedNames` that defines a set of reserved domain names.
      Returns:
        instance of `EPPRegistryReservedNames`

    - #### setReservedNames

          public void setReservedNames(EPPRegistryReservedNames reservedNames)

      Set the instance of `EPPRegistryReservedNames` that defines a set of reserved domain names.
      Parameters:
        `reservedNames` - instance of `EPPRegistryReservedNames`

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