com.verisign.epp.codec.registry

## Class EPPRegistryDomain

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

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

      public class EPPRegistryDomain
      extends java.lang.Object
      implements EPPCodecComponent

  Represents the domain name object policy information per RFC 5731. Instance of this class is encoded into the <registry:domain> element in the <registry:zone> element when the server responds with the detailed information of the zone object. The <registry:domain> must contain the following child elements:
  - <registry:domainName> - The domain name object policy information per RFC 5731. Use `getDomainNames()` and `setDomainNames(List)` to get and set the element.
  - <registry:idn> - OPTIONAL Internationalized Domain Name (IDN) policy information. Use `getIdn()` and `setIdn(EPPRegistryIDN)` to get and set the element.
  - <registry:premiumSupport> - OPTIONAL boolean value that indicates whether the server supports premium domain names. Default value is `false`. Use `getPremiumSupport()` and `setPremiumSupport(Boolean)` to get and set the element.
  - <registry:contactsSupported> - OPTIONAL boolean value that indicates whether contacts are supported. Default value is `true`. Use `getContactsSupported()` and `setContactsSupported(Boolean)` to get and set the element.
  - <registry:contact> - Zero to three elements that define the minimum and maximum numbers of contacts by contact type. Valid contact types are: admin, tech and billing. Use `getContacts()` and `setContacts(List)` to get and set the element. Use `addContact(EPPRegistryDomainContact)` to append a contact to the existing contact list.
  - <registry:ns> - Defines the minimum and maximum number of delegated host objects (name servers) that can be associated with a domain object. Use `getNameServerLimit()` and `setNameServerLimit(EPPRegistryDomainNSLimit)` to get and set the element.
  - <registry:childHost> - Defines the minimum and maximum number of subordinate host objects (child hosts) for a domain object. Use `getChildHostLimit()` and `setChildHostLimit(EPPRegistryDomainHostLimit)` to get and set the element.
  - <registry:period> - Zero or more elements that defines the supported min/max registration periods and default periods by command type. The required "command" attribute defines the command type with sample values of "create", "renew", and "transfer". Use `getPeriods()` and `setPeriods(List)` to get and set the element.
  - <registry:transferHoldPeriod> - The period of time a domain object is in the pending transfer before the transfer is auto approved by the server. This element MUST have the "unit" attribute with the possible values of "y" for year, "m" for month, and "d" for day. Use `getTransferHoldPeriod()` and `setTransferHoldPeriod(EPPRegistryTransferHoldPeriodType)` to get and set the element.
  - <registry:gracePeriod> - Zero or more elements that defines the grace periods by operation type. The required "command" attribute defines the operation type with the sample values of "create", "renew", "transfer", and "autoRenew". This element requires the "unit" attribute with the possible values of "d" for day, "h" for hour, and "m" for minute. Use `getGracePeriods()` and `setGracePeriods(List)` to get and set the element.
  - <registry:rgp> - OPTIONAL Registry Grace Period (RGP) status periods. Use `getRgp()` and `setRgp(EPPRegistryRGP)` to get and set the element.
  - <registry:dnssec> - OPTIONAL DNS Security Extensions (DNSSEC) policies for the server. Use `getDnssec()` and `setDnssec(EPPRegistryDNSSEC)` to get and set the element.
  - <registry:maxCheckDomain> - The maximum number of domain names (<domain:name> elements) that can be included in a domain check command defined in RFC 5731 Use `setMaxCheckDomain(Integer)` and `getMaxCheckDomain()` to get and set the element.
  - <registry:supportedStatus> - The OPTIONAL set of supported domain status defined in RFC 5731 Use `getSupportedStatus()` and `setSupportedStatus(EPPRegistrySupportedStatus)` to get and set the element.
  - <registry:authInfoRegEx> - The OPTIONAL regular expression used to validate the domain object authorization information value. Use `getAuthInfoRegex()` and `setAuthInfoRegex(EPPRegistryRegex)` to get and set the element.
  - <registry:customDate> - The OPTIONAL set of custom data using key, value pairs. Use `getCustomData()` and `setCustomData(EPPRegistryCustomData)` to get and set the element.
  See Also:
    `EPPRegistryZoneInfo`, `EPPRegistryDomainName`, `EPPRegistryIDN`, `EPPRegistryDomainContact`, `EPPRegistryDomainPeriod`, `EPPRegistryDomainNSLimit`, `EPPRegistryDomainHostLimit`, `EPPRegistryDomainPeriod`, `EPPRegistryTransferHoldPeriodType`, `EPPRegistryGracePeriod`, `EPPRegistryRGP`, `EPPRegistryDNSSEC`, `EPPRegistrySupportedStatus`, `EPPRegistryCustomData`, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `ELM_AUTH_INFO_REGEX` XML Element Name of `authInfoRegex` attribute.
    `static java.lang.String` | `ELM_MAX_CHECK_DOMAIN` XML Element Name of `maxCheckDomain` attribute.
    `static java.lang.String` | `ELM_NAME` XML Element Name of `EPPRegistryDomain` root element.
    `static java.lang.String` | `ELM_PREMIUM_SUPPORT` XML Element Name of `premiumSupport` attribute.
    `static java.lang.String` | `ELM_REGISTRANT` XML Element Name of `contactsSupported` attribute.
    `static java.lang.String` | `ELM_URGENT` Deprecated. XML Element Name of `urgent` attribute.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPRegistryDomain()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addContact(EPPRegistryDomainContact contact)` Append a domain contact policy to the existing list.
    `void` | `addDomainName(EPPRegistryDomainName aDomainName)` Add a domain name object policy to the list of domain name policies.
    `void` | `addGracePeriod(EPPRegistryGracePeriod gracePeriod)` Append one instance of `EPPRegistryGracePeriod` to the existing `List`.
    `void` | `addPeriod(EPPRegistryDomainPeriod period)`
    `java.lang.Object` | `clone()` Clone `EPPRegistryDomain`.
    `void` | `decode(org.w3c.dom.Element aElement)` Decode the `EPPRegistryDomain` 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 `EPPRegistryDomain` instance.
    `boolean` | `equals(java.lang.Object aObject)` implements a deep `EPPRegistryDomain` compare.
    `EPPRegistryRegex` | `getAuthInfoRegex()` Get info about regular expression used to validate the domain object authorization information value.
    `EPPRegistryDomainHostLimit` | `getChildHostLimit()` Get child host limit.
    `java.util.List` | `getContacts()` Get domain contact policy.
    `java.lang.Boolean` | `getContactsSupported()` Get the contact supported flag.
    `EPPRegistryCustomData` | `getCustomData()` Get set of custom data using key, value pairs.
    `EPPRegistryDNSSEC` | `getDnssec()` Get the DNS Security Extensions (DNSSEC) policies.
    `java.util.List` | `getDomainNames()` Get the `List` of `EPPRegistryDomainName` that specifies the domain name object policy.
    `java.util.List` | `getGracePeriods()` Get the `List` of attributes that defines the grace periods by operation type.
    `EPPRegistryIDN` | `getIdn()` Get the Internationalized Domain Name (IDN) policy information.
    `java.lang.Integer` | `getMaxCheckDomain()` Get the attribute that defines the maximum number of domain names (<domain:name> elements) that can be included in a domain check command defined in RFC 5731.
    `EPPRegistryDomainNSLimit` | `getNameServerLimit()` Get NS limit definition.
    `java.lang.String` | `getNamespace()` Returns the XML namespace associated with the `EPPCodecComponent`.
    `java.util.List` | `getPeriods()` Get `List` of `EPPRegistryDomainPeriod` instances that define the supported min/max/default registration periods by command type.
    `java.lang.Boolean` | `getPremiumSupport()` Get premium support flag.
    `EPPRegistryRGP` | `getRgp()` Get the information about Registry Grace Period (RGP).
    `EPPRegistrySupportedStatus` | `getSupportedStatus()` Get domain status supported by the server.
    `EPPRegistryTransferHoldPeriodType` | `getTransferHoldPeriod()` Get the period of time a domain object is in the pending transfer before the transfer is auto approved by the server
    `void` | `setAuthInfoRegex(EPPRegistryRegex authInfoRegex)` Set info about regular expression used to validate the domain object authorization information value.
    `void` | `setChildHostLimit(EPPRegistryDomainHostLimit childHostLimit)` Set child host limit.
    `void` | `setContacts(java.util.List contacts)` Set domain contact policy.
    `void` | `setContactsSupported(java.lang.Boolean contactsSupported)` Set the contact supported flag.
    `void` | `setCustomData(EPPRegistryCustomData customData)` Set set of custom data using key, value pairs.
    `void` | `setDnssec(EPPRegistryDNSSEC dnssec)` Set the DNS Security Extensions (DNSSEC) policies.
    `void` | `setDomainNames(java.util.List domainNames)` Set the `List` of `EPPRegistryDomainName` that specifies the domain name object policy.
    `void` | `setGracePeriods(java.util.List gracePeriods)` Set the `List` of attributes that defines the grace periods by operation type.
    `void` | `setIdn(EPPRegistryIDN idn)` Set the Internationalized Domain Name (IDN) policy information.
    `void` | `setMaxCheckDomain(java.lang.Integer maxCheckDomain)` Set the attribute that defines the maximum number of domain names (<domain:name> elements) that can be included in a domain check command defined in RFC 5731.
    `void` | `setNameServerLimit(EPPRegistryDomainNSLimit nameServerLimit)` Set NS limit definition.
    `void` | `setPeriods(java.util.List periods)` Set `List` of `EPPRegistryDomainPeriod` instances that define the supported min/max/default registration periods by command type.
    `void` | `setPremiumSupport(java.lang.Boolean premiumSupport)` Set premium support flag.
    `void` | `setRgp(EPPRegistryRGP rgp)` Set the information about Registry Grace Period (RGP).
    `void` | `setSupportedStatus(EPPRegistrySupportedStatus supportedStatus)` Set domain status supported by the server.
    `void` | `setTransferHoldPeriod(EPPRegistryTransferHoldPeriodType transferHoldPeriod)` Set the period of time a domain object is in the pending transfer before the transfer is auto approved by the server
    `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

      XML Element Name of `EPPRegistryDomain` root element.
      See Also:
        Constant Field Values

    - #### ELM_PREMIUM_SUPPORT

          public static final java.lang.String ELM_PREMIUM_SUPPORT

      XML Element Name of `premiumSupport` attribute.
      See Also:
        Constant Field Values

    - #### ELM_REGISTRANT

          public static final java.lang.String ELM_REGISTRANT

      XML Element Name of `contactsSupported` attribute.
      See Also:
        Constant Field Values

    - #### ELM_URGENT

          @Deprecated
          public static final java.lang.String ELM_URGENT

      Deprecated. XML Element Name of `urgent` attribute.
      See Also:
        Constant Field Values

    - #### ELM_MAX_CHECK_DOMAIN

          public static final java.lang.String ELM_MAX_CHECK_DOMAIN

      XML Element Name of `maxCheckDomain` attribute.
      See Also:
        Constant Field Values

    - #### ELM_AUTH_INFO_REGEX

          public static final java.lang.String ELM_AUTH_INFO_REGEX

      XML Element Name of `authInfoRegex` attribute.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EPPRegistryDomain

          public EPPRegistryDomain()

  - ### 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 `EPPRegistryDomain` 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 `EPPRegistryDomain` instance.
      Throws:
        `EPPEncodeException` - - Unable to encode `EPPRegistryDomain` instance.

    - #### decode

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

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

    - #### equals

          public boolean equals(java.lang.Object aObject)

      implements a deep `EPPRegistryDomain` compare.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `aObject` - `EPPRegistryDomain` 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 `EPPRegistryDomain`.
      Specified by:
        `clone` in interface `EPPCodecComponent`
      Overrides:
        `clone` in class `java.lang.Object`
      Returns:
        clone of `EPPRegistryDomain`
      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.

    - #### addDomainName

          public void addDomainName(EPPRegistryDomainName aDomainName)

      Add a domain name object policy to the list of domain name policies.
      Parameters:
        `aDomainName` - Domain name policy to add

    - #### getDomainNames

          public java.util.List getDomainNames()

      Get the `List` of `EPPRegistryDomainName` that specifies the domain name object policy.
      Returns:
        the `List` of `EPPRegistryDomainName` that specifies the domain name object policy

    - #### setDomainNames

          public void setDomainNames(java.util.List domainNames)

      Set the `List` of `EPPRegistryDomainName` that specifies the domain name object policy.
      Parameters:
        `domainNames` - the `List` of `EPPRegistryDomainName` that specifies the domain name object policy

    - #### getIdn

          public EPPRegistryIDN getIdn()

      Get the Internationalized Domain Name (IDN) policy information.
      Returns:
        Internationalized Domain Name (IDN) policy information

    - #### setIdn

          public void setIdn(EPPRegistryIDN idn)

      Set the Internationalized Domain Name (IDN) policy information.
      Parameters:
        `idn` - the Internationalized Domain Name (IDN) policy information.

    - #### getPremiumSupport

          public java.lang.Boolean getPremiumSupport()

      Get premium support flag.
      Returns:
        flag that indicates whether the server supports premium domain names

    - #### setPremiumSupport

          public void setPremiumSupport(java.lang.Boolean premiumSupport)

      Set premium support flag.
      Parameters:
        `premiumSupport` - flag that indicates whether the server supports premium domain names

    - #### getContactsSupported

          public java.lang.Boolean getContactsSupported()

      Get the contact supported flag.
      Returns:
        flag that indicates whether contacts are supported

    - #### setContactsSupported

          public void setContactsSupported(java.lang.Boolean contactsSupported)

      Set the contact supported flag.
      Parameters:
        `contactsSupported` - flag that indicates whether contacts are supported

    - #### getContacts

          public java.util.List getContacts()

      Get domain contact policy.
      Returns:
        `List` of domain contact policy

    - #### setContacts

          public void setContacts(java.util.List contacts)

      Set domain contact policy.
      Parameters:
        `contacts` - `List` of domain contact policy

    - #### addContact

          public void addContact(EPPRegistryDomainContact contact)

      Append a domain contact policy to the existing list.
      Parameters:
        `contact` - domain contact policy for one of the "admin", "tech", or "billing" contact.

    - #### getNameServerLimit

          public EPPRegistryDomainNSLimit getNameServerLimit()

      Get NS limit definition.
      Returns:
        instance of `EPPRegistryDomainNSLimit` that defines min/max number of delegated host objects (name servers) that can be associated with a domain object

    - #### setNameServerLimit

          public void setNameServerLimit(EPPRegistryDomainNSLimit nameServerLimit)

      Set NS limit definition.
      Parameters:
        `nameServerLimit` - instance of `EPPRegistryDomainNSLimit` that defines min/max number of delegated host objects (name servers) that can be associated with a domain object

    - #### getChildHostLimit

          public EPPRegistryDomainHostLimit getChildHostLimit()

      Get child host limit.
      Returns:
        Instance of `EPPRegistryDomainHostLimit` that defines the minimum and maximum number of subordinate host objects (child hosts) for a domain object.

    - #### setChildHostLimit

          public void setChildHostLimit(EPPRegistryDomainHostLimit childHostLimit)

      Set child host limit.
      Parameters:
        `childHostLimit` - Instance of `EPPRegistryDomainHostLimit` that defines the minimum and maximum number of subordinate host objects (child hosts) for a domain object.

    - #### getPeriods

          public java.util.List getPeriods()

      Get `List` of `EPPRegistryDomainPeriod` instances that define the supported min/max/default registration periods by command type. Command type must be one of "create, "renew" and "transfer".
      Returns:
        `List` of `EPPRegistryDomainPeriod` instances

    - #### setPeriods

          public void setPeriods(java.util.List periods)

      Set `List` of `EPPRegistryDomainPeriod` instances that define the supported min/max/default registration periods by command type. Command type must be one of "create, "renew" and "transfer".
      Parameters:
        `periods` - `List` of `EPPRegistryDomainPeriod` instances

    - #### addPeriod

          public void addPeriod(EPPRegistryDomainPeriod period)

    - #### getTransferHoldPeriod

          public EPPRegistryTransferHoldPeriodType getTransferHoldPeriod()

      Get the period of time a domain object is in the pending transfer before the transfer is auto approved by the server
      Returns:
        instance of `EPPRegistryTransferHoldPeriodType`

    - #### setTransferHoldPeriod

          public void setTransferHoldPeriod(EPPRegistryTransferHoldPeriodType transferHoldPeriod)

      Set the period of time a domain object is in the pending transfer before the transfer is auto approved by the server
      Parameters:
        `transferHoldPeriod` - instance of `EPPRegistryTransferHoldPeriodType`

    - #### getGracePeriods

          public java.util.List getGracePeriods()

      Get the `List` of attributes that defines the grace periods by operation type.
      Returns:
        `List` of `EPPRegistryGracePeriod`

    - #### setGracePeriods

          public void setGracePeriods(java.util.List gracePeriods)

      Set the `List` of attributes that defines the grace periods by operation type.
      Parameters:
        `gracePeriods` - `List` of `EPPRegistryGracePeriod`

    - #### addGracePeriod

          public void addGracePeriod(EPPRegistryGracePeriod gracePeriod)

      Append one instance of `EPPRegistryGracePeriod` to the existing `List`.
      Parameters:
        `gracePeriod` - instance of `EPPRegistryGracePeriod`

    - #### getRgp

          public EPPRegistryRGP getRgp()

      Get the information about Registry Grace Period (RGP).
      Returns:
        instance of `EPPRegistryRGP`.

    - #### setRgp

          public void setRgp(EPPRegistryRGP rgp)

      Set the information about Registry Grace Period (RGP).
      Parameters:
        `rgp` - instance of `EPPRegistryRGP`.

    - #### getDnssec

          public EPPRegistryDNSSEC getDnssec()

      Get the DNS Security Extensions (DNSSEC) policies.
      Returns:
        instance of `EPPRegistryDNSSEC` that defines the DNS Security Extensions (DNSSEC) policies.

    - #### setDnssec

          public void setDnssec(EPPRegistryDNSSEC dnssec)

      Set the DNS Security Extensions (DNSSEC) policies.
      Parameters:
        `dnssec` - instance of `EPPRegistryDNSSEC` that defines the DNS Security Extensions (DNSSEC) policies.

    - #### getMaxCheckDomain

          public java.lang.Integer getMaxCheckDomain()

      Get the attribute that defines the maximum number of domain names (<domain:name> elements) that can be included in a domain check command defined in RFC 5731.
      Returns:
        maximum number of domain names (<domain:name> elements) that can be included in a domain check command defined in RFC 5731.

    - #### setMaxCheckDomain

          public void setMaxCheckDomain(java.lang.Integer maxCheckDomain)

      Set the attribute that defines the maximum number of domain names (<domain:name> elements) that can be included in a domain check command defined in RFC 5731.
      Parameters:
        `maxCheckDomain` - maximum number of domain names (<domain:name> elements) that can be included in a domain check command defined in RFC 5731.

    - #### getCustomData

          public EPPRegistryCustomData getCustomData()

      Get set of custom data using key, value pairs.
      Returns:
        instance of `EPPRegistryCustomData` that gives users the ability to specify custom data with key/value pairs

    - #### setCustomData

          public void setCustomData(EPPRegistryCustomData customData)

      Set set of custom data using key, value pairs.
      Parameters:
        `customData` - instance of `EPPRegistryCustomData` that gives users the ability to specify custom data with key/value pairs

    - #### getAuthInfoRegex

          public EPPRegistryRegex getAuthInfoRegex()

      Get info about regular expression used to validate the domain object authorization information value.
      Returns:
        instance of `EPPRegistryRegex` that specifies regular expression used to validate the domain object authorization information value

    - #### setAuthInfoRegex

          public void setAuthInfoRegex(EPPRegistryRegex authInfoRegex)

      Set info about regular expression used to validate the domain object authorization information value.
      Parameters:
        `authInfoRegex` - instance of `EPPRegistryRegex` that specifies regular expression used to validate the domain object authorization information value

    - #### getSupportedStatus

          public EPPRegistrySupportedStatus getSupportedStatus()

      Get domain status supported by the server.
      Returns:
        instance of `EPPRegistrySupportedStatus` that contains a list of supported domain status by the server

    - #### setSupportedStatus

          public void setSupportedStatus(EPPRegistrySupportedStatus supportedStatus)

      Set domain status supported by the server.
      Parameters:
        `supportedStatus` - instance of `EPPRegistrySupportedStatus` that contains a list of supported domain status by the server

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