Class EPPRegistryDomain

java.lang.Object
com.verisign.epp.codec.registry.v02.EPPRegistryDomain
All Implemented Interfaces:
EPPCodecComponent, Serializable, Cloneable

public class EPPRegistryDomain extends 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 OPTIONAL 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:nullAuthInfoSupported> - An OPTIONAL flag indicating whether the <domain:null> element in [RFC5731] is supported to remove the authorization information, with a default value of false. Use getNullAuthInfoSupported() and setNullAuthInfoSupported(Boolean) to get and set the element.
  • <registry:hostModelSupported> - The OPTIONAL definition of which [RFC5731] host model is used by the server. The possible values include HostModelSupported.hostObj for the host object model and HostModelSupported.hostAttr for the host attribute model, with the default value of "hostObj". Use getHostModelSupported() and setHostModelSupported(HostModelSupported) to get and set the element.
See Also:
  • Field Details

    • ELM_LOCALNAME

      public static final String ELM_LOCALNAME
      XML local name for EPPRegistryDomain.
      See Also:
    • ELM_NAME

      public static final String ELM_NAME
      XML root tag for EPPRegistryDomain.
      See Also:
    • ELM_PREMIUM_SUPPORT

      public static final String ELM_PREMIUM_SUPPORT
      XML Element Name of premiumSupport attribute.
      See Also:
    • ELM_REGISTRANT

      public static final String ELM_REGISTRANT
      XML Element Name of contactsSupported attribute.
      See Also:
    • ELM_EXCEED_MAX_EX_DATE

      public static final String ELM_EXCEED_MAX_EX_DATE
      XML Element Name of exceedMaxExDate attribute.
      See Also:
    • ELM_MAX_CHECK_DOMAIN

      public static final String ELM_MAX_CHECK_DOMAIN
      XML Element Name of maxCheckDomain attribute.
      See Also:
    • ELM_AUTH_INFO_REGEX

      public static final String ELM_AUTH_INFO_REGEX
      XML Element Name of authInfoRegex attribute.
      See Also:
    • ELM_NULL_AUTH_INFO_SUPPORTED

      public static final String ELM_NULL_AUTH_INFO_SUPPORTED
      XML Element Name of nullAuthInfoSupported attribute.
      See Also:
    • ELM_HOST_MODEL_SUPPORTED

      public static final String ELM_HOST_MODEL_SUPPORTED
      XML Element Name of hostModelSupported attribute.
      See Also:
  • Constructor Details

    • EPPRegistryDomain

      public EPPRegistryDomain()
  • Method Details

    • encode

      public Element encode(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(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(Object aObject)
      implements a deep EPPRegistryDomain compare.
      Overrides:
      equals in class Object
      Parameters:
      aObject - EPPRegistryDomain instance to compare with
      Returns:
      true if this object is the same as the aObject argument; false otherwise
    • clone

      public Object clone() throws CloneNotSupportedException
      Clone EPPRegistryDomain.
      Specified by:
      clone in interface EPPCodecComponent
      Overrides:
      clone in class Object
      Returns:
      clone of EPPRegistryDomain
      Throws:
      CloneNotSupportedException - standard Object.clone exception
    • toString

      public String toString()
      Implementation of Object.toString, which will result in an indented XML String representation of the concrete EPPCodecComponent.
      Overrides:
      toString in class Object
      Returns:
      Indented XML String if successful; ERROR otherwise.
    • hasDomainNames

      public boolean hasDomainNames()
      Is the domain name policies defined?
      Returns:
      true if the domain name policies is defined; false otherwise.
    • getDomainNames

      public List<EPPRegistryDomainName> 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(List<EPPRegistryDomainName> aDomainNames)
      Set the List of EPPRegistryDomainName that specifies the domain name object policy.
      Parameters:
      aDomainNames - the List of EPPRegistryDomainName that specifies the domain name object policy
    • 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
    • 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.
    • hasPremiumSupport

      public boolean hasPremiumSupport()
      Is the premium support flag defined?
      Returns:
      true if the premium support flag is defined; false otherwise.
    • getPremiumSupport

      public Boolean getPremiumSupport()
      Get premium support flag.
      Returns:
      flag that indicates whether the server supports premium domain names
    • setPremiumSupport

      public void setPremiumSupport(Boolean aPremiumSupport)
      Set premium support flag.
      Parameters:
      aPremiumSupport - flag that indicates whether the server supports premium domain names
    • hasContactsSupported

      public boolean hasContactsSupported()
      Is the contact supported flag flag defined?
      Returns:
      true if the contact supported flag is defined; false otherwise.
    • getContactsSupported

      public Boolean getContactsSupported()
      Get the contact supported flag.
      Returns:
      flag that indicates whether contacts are supported
    • setContactsSupported

      public void setContactsSupported(Boolean aContactsSupported)
      Set the contact supported flag.
      Parameters:
      aContactsSupported - flag that indicates whether contacts are supported
    • hasContacts

      public boolean hasContacts()
      Is the contacts defined?
      Returns:
      true if the contacts is defined; false otherwise.
    • getContacts

      public List<EPPRegistryDomainContact> getContacts()
      Get domain contact policy.
      Returns:
      List of domain contact policy
    • setContacts

      public void setContacts(List<EPPRegistryDomainContact> aContacts)
      Set domain contact policy.
      Parameters:
      aContacts - List of domain contact policy
    • addContact

      public void addContact(EPPRegistryDomainContact aContact)
      Append a domain contact policy to the existing list.
      Parameters:
      aContact - 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.
    • hasPeriods

      public boolean hasPeriods()
      Is the periods defined?
      Returns:
      true if the periods is defined; false otherwise.
    • getPeriods

      public List<EPPRegistryDomainPeriod> 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(List<EPPRegistryDomainPeriod> aPeriods)
      Set List of EPPRegistryDomainPeriod instances that define the supported min/max/default periods by command type. Command type must be one of "create, "renew" and "transfer".
      Parameters:
      aPeriods - List of EPPRegistryDomainPeriod instances
    • addPeriod

      public void addPeriod(EPPRegistryDomainPeriod aPeriod)
      Adds a supported period to the list of periods.
      Parameters:
      aPeriod - A period to add to the list
    • hasExceedMaxExDates

      public boolean hasExceedMaxExDates()
      Is the exceed maximum expiration dates defined?
      Returns:
      true if the exceed maximum expiration dates is defined; false otherwise.
    • getExceedMaxExDates

      public List<EPPRegistryExceedMaxExDate> getExceedMaxExDates()
      Gets the List of EPPRegistryExceedMaxExDate instances that the policy with exceeding the maximum expiration date for renewable commands.
      Returns:
      List of EPPRegistryExceedMaxExDate instances if defined; null otherwise.
    • setExceedMaxExDates

      public void setExceedMaxExDates(List<EPPRegistryExceedMaxExDate> aExceedMaxExDates)
      Sets the List of EPPRegistryExceedMaxExDate instances that the policy with exceeding the maximum expiration date for renewable commands.
      Parameters:
      aExceedMaxExDates - List of EPPRegistryExceedMaxExDate instances
    • addExceedMaxExDate

      public void addExceedMaxExDate(EPPRegistryExceedMaxExDate aExceedMaxExDate)
      Adds a exceed maximum expiration date policy to the list.
      Parameters:
      aExceedMaxExDate - A exceed maximum expiration date policy to add
    • 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
    • hasGracePeriods

      public boolean hasGracePeriods()
      Is the grace periods defined?
      Returns:
      true if the grace periods is defined; false otherwise.
    • addGracePeriod

      public void addGracePeriod(EPPRegistryGracePeriod aGracePeriod)
      Append one instance of EPPRegistryGracePeriod to the existing List.
      Parameters:
      aGracePeriod - instance of EPPRegistryGracePeriod
    • getGracePeriods

      public List<EPPRegistryGracePeriod> getGracePeriods()
      Get the List of attributes that defines the grace periods by operation type.
      Returns:
      List of EPPRegistryGracePeriod
    • setGracePeriods

      public void setGracePeriods(List<EPPRegistryGracePeriod> aGracePeriods)
      Set the List of attributes that defines the grace periods by operation type.
      Parameters:
      aGracePeriods - List 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 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(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.
    • 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
    • hasNullAuthInfoSupported

      public boolean hasNullAuthInfoSupported()
      Is the null auth info supported flag defined?
      Returns:
      true if the null auth info supported flag is defined; false otherwise.
    • getNullAuthInfoSupported

      public Boolean getNullAuthInfoSupported()
      Get null auth info supported flag.
      Returns:
      flag that indicates whether the server supports the <domain:null> element in [RFC5731] if defined; null otherwise.
    • setNullAuthInfoSupported

      public void setNullAuthInfoSupported(Boolean aNullAuthInfoSupported)
      Set null auth info supported flag.
      Parameters:
      aNullAuthInfoSupported - flag that indicates whether the server supports the <domain:null> element in [RFC5731]
    • 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
    • getHostModelSupported

      public EPPRegistryDomain.HostModelSupported getHostModelSupported()
      Gets the host model supported from RFC 5731, with the default set to EPPRegistryDomain.HostModelSupported.hostObj.
      Returns:
      Host model supported
    • setHostModelSupported

      public void setHostModelSupported(EPPRegistryDomain.HostModelSupported aHostModelSupported)
      Sets the host model supported from RFC 5731, with the default set to EPPRegistryDomain.HostModelSupported.hostObj.
      Parameters:
      aHostModelSupported - Host model supported enumerated value. If set to null, the default value of EPPRegistryDomain.HostModelSupported.hostObj will be used.
    • getNamespace

      public String getNamespace()
      Returns the XML namespace associated with the EPPCodecComponent.
      Specified by:
      getNamespace in interface EPPCodecComponent
      Returns:
      XML namespace for the EPPCodecComponent.