com.verisign.epp.codec.registry

## Class EPPRegistryZoneInfo

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

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

      public class EPPRegistryZoneInfo
      extends java.lang.Object
      implements EPPCodecComponent, EPPRegistryZoneInterface

  Represents the detailed information of a zone object. Upon receiving an <info> command, with a <registry:name> element in it, the server puts a <registry:zone> element in the response.
  Each element in the list contains the following info:
  - <registry:name> - fully qualified name of the zone object. Zone name can be at any level (top level, second level, third level, etc.). Use `getName()` and `setName(String)` to get and set the element.
  - <registry:group> - An OPTIONAL server defined grouping of zones. Zone in one group share similar features and policies. Use `getGroup()` and `setGroup(String)` to get and set the element.
  - <registry:subProduct> - An OPTIONAL sub-product identifier used for the zone and used as the value of the <namestoreExt:subProduct> element of the NameStore Extension. Use `getSubProduct()` and `setSubProduct(String)` to get and set the element.
  - <registry:family> - An OPTIONAL definition of the family of related zones, where there can be a primary and alternate zone relationship on a per domain basis. The primary domain name is the first one created and the last one deleted in the family of domain names. The alternate domain names can be enabled / disabled when the primary domain name exists. Use `getRelated()` and `setRelated(EPPRegistryRelated)` to get and set the element.
  - <services> - Zero or more elements that defines a phase of the zone based on the phases defined in the Launch Phase Mapping for the Extensible Provisioning Protocol (EPP). Use `getPhases()` and `setPhases(List)` to get and set the element. Use `addPhase(EPPRegistryPhase)` to append on phase to an existing phase list.
  - <registry:services> - The OPTIONAL EPP namespace URIs of the objects and object extensions supported by the server based on RFC 5730. Use `getServices()` and `setServices(EPPRegistryServices)` to get and set the element.
  - <registry:slaInfo> - The OPTIONAL Service-Level Agreement (SLA) information for the zone. The SLA information CAN include availability as well as response time SLA's. Use `getSlaInfo()` and `setSlaInfo(EPPRegistrySLAInfo)` to get and set the element.
  - <registry:crID> - The OPTIONAL identifier of the client that created the zone. Use `getCreatedBy()` and `setCreatedBy(String)` to get and set the element.
  - <registry:crDate> - The date and time of zone object creation. Use `getCreatedDate()` and `setCreatedDate(Date)` to get and set the element.
  - <registry:upID> - The OPTIONAL identifier of the client that last updated the zone object.This element MUST NOT be present if the zone has never been modified. Use `getLastUpdatedBy()` and `setLastUpdatedBy(String)` to get and set the element.
  - <registry:upDate> - The OPTIONAL date and time of the most recent zone object modification. This element MUST NOT be present if the zone object has never been modified. Use `getLastUpdatedDate()` and `setLastUpdatedDate(Date)` to get and set the element.
  - <registry:domain> - The domain name object policy information per RFC 5731. Use `getDomain()` and `setDomain(EPPRegistryDomain)` to get and set the element.
  - <registry:host> - The host object policy information per RFC 5732. Use `getHost()` and `setHost(EPPRegistryHost)` to get and set the element.
  - <registry:contact> - The contact object policy information per RFC 5733. Use `getContact()` and `setContact(EPPRegistryContact)` to get and set the element.
  See Also:
    `EPPRegistryZone`, `EPPRegistryPhase`, `EPPRegistryServices`, `EPPRegistrySLAInfo`, `EPPRegistryDomain`, `EPPRegistryHost`, `EPPRegistryContact`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPRegistryZoneInfo()` Default constructor.
    `EPPRegistryZoneInfo(java.lang.String name)` Construct an `EPPRegistryZoneInfo` instance using a zone name.
    `EPPRegistryZoneInfo(java.lang.String name, java.lang.String aCreatedBy, java.util.Date aCreatedDate)` Construct an `EPPRegistryZoneInfo` instance using a zone name, a create id and a create date.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addPhase(EPPRegistryPhase phase)` Append a zone phase to existing `List` of phases.
    `java.lang.Object` | `clone()` Clone `EPPRegistryZoneInfo`.
    `void` | `decode(org.w3c.dom.Element aElement)` Decode the `EPPRegistryZoneInfo` 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 `EPPRegistryZoneInfo` instance.
    `boolean` | `equals(java.lang.Object aObject)` implements a deep `EPPRegistryZoneInfo` compare.
    `EPPRegistryContact` | `getContact()` Get the contact object policy information.
    `java.lang.String` | `getCreatedBy()` Get the identifier of the client that created the zone.
    `java.util.Date` | `getCreatedDate()` Get zone creation date.
    `EPPRegistryDomain` | `getDomain()` Get the domain name object policy information.
    `java.lang.String` | `getGroup()` Get zone group.
    `EPPRegistryHost` | `getHost()` Get the host object policy information.
    `java.lang.String` | `getLastUpdatedBy()` Get the identifier of the client that last updated the zone object.
    `java.util.Date` | `getLastUpdatedDate()` Get the zone last updated date.
    `java.lang.String` | `getName()` Get name of zone.
    `java.lang.String` | `getNamespace()` Returns the XML namespace associated with the `EPPCodecComponent`.
    `java.util.List` | `getPhases()` Get `List` of zone phases.
    `EPPRegistryRelated` | `getRelated()` Gets the related zones.
    `EPPRegistryServices` | `getServices()` Get services supported by the zone
    `EPPRegistrySLAInfo` | `getSlaInfo()` Get the Service-Level Agreement (SLA) information for the zone.
    `java.lang.String` | `getSubProduct()` Get the sub-product identifier used for the zone.
    `boolean` | `hasRelated()` Is related defined?
    `void` | `setContact(EPPRegistryContact contact)` Set the contact object policy information.
    `void` | `setCreatedBy(java.lang.String createdBy)` Set the identifier of the client that created the zone
    `void` | `setCreatedDate(java.util.Date createdDate)` set zone create date.
    `void` | `setDomain(EPPRegistryDomain domain)` Set the domain name object policy information.
    `void` | `setGroup(java.lang.String group)` Set zone group.
    `void` | `setHost(EPPRegistryHost host)` Set the host object policy information.
    `void` | `setLastUpdatedBy(java.lang.String lastUpdatedBy)` Set the identifier of the client that last updated the zone object.
    `void` | `setLastUpdatedDate(java.util.Date lastUpdatedDate)` Set the zone last updated date.
    `void` | `setName(java.lang.String name)` Set name of zone.
    `void` | `setPhases(java.util.List phases)` Set `List` of zone phases.
    `void` | `setRelated(EPPRegistryRelated aRelated)` Sets the related zones.
    `void` | `setServices(EPPRegistryServices services)` Set services supported by the zone
    `void` | `setSlaInfo(EPPRegistrySLAInfo slaInfo)` Set the Service-Level Agreement (SLA) information for the zone.
    `void` | `setSubProduct(java.lang.String subProduct)` Set the sub-product identifier used for the zone.
    `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

    - #### EPPRegistryZoneInfo

          public EPPRegistryZoneInfo()

      Default constructor. All non list attributes are initialized to `null`. `phases` is initialized to empty `List`.
      Please make sure to set the required attributes before calling the `encode(Document)` method:
      - `setName(String)`
      - `setCreatedDate(Date)`
      - `setDomain(EPPRegistryDomain)`
      - `setHost(EPPRegistryHost)`
      - `setContact(EPPRegistryContact)`

    - #### EPPRegistryZoneInfo

          public EPPRegistryZoneInfo(java.lang.String name)

      Construct an `EPPRegistryZoneInfo` instance using a zone name.
      All other non list attributes are initialized to `null`. `phases` is initialized to empty `List`.
      Please make sure to set the required attributes before calling the `encode(Document)` method:
      - `setCreatedDate(Date)`
      - `setDomain(EPPRegistryDomain)`
      - `setHost(EPPRegistryHost)`
      - `setContact(EPPRegistryContact)`
      Parameters:
        `name` - fully qualified name of the zone object

    - #### EPPRegistryZoneInfo

          public EPPRegistryZoneInfo(java.lang.String name,
                                     java.lang.String aCreatedBy,
                                     java.util.Date aCreatedDate)

      Construct an `EPPRegistryZoneInfo` instance using a zone name, a create id and a create date.
      All other non list attributes are initialized to `null`. `phases` is initialized to empty `List`.
      Please make sure to set the required attributes before calling the `encode(Document)` method:
      - `setDomain(EPPRegistryDomain)`
      - `setHost(EPPRegistryHost)`
      - `setContact(EPPRegistryContact)`
      Parameters:
        `name` - fully qualified name of the zone
        `aCreatedBy` - identifier of the client that created the zone
        `aCreatedDate` - creation date of the zone

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

    - #### decode

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

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

    - #### equals

          public boolean equals(java.lang.Object aObject)

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

    - #### getName

          public java.lang.String getName()

      Get name of zone.
      Returns:
        fully qualified zone name

    - #### setName

          public void setName(java.lang.String name)

      Set name of zone.
      Parameters:
        `name` - fully qualified zone name

    - #### getRelated

          public EPPRegistryRelated getRelated()

      Gets the related zones.
      Returns:
        Related zones if defined; `null` otherwise.

    - #### hasRelated

          public boolean hasRelated()

      Is related defined?
      Returns:
        `true` if related is defined; `false` otherwise.

    - #### setRelated

          public void setRelated(EPPRegistryRelated aRelated)

      Sets the related zones.
      Parameters:
        `aRelated` - Related zones

    - #### getPhases

          public java.util.List getPhases()

      Get `List` of zone phases.
      Returns:
        List of zone phases defined in the "Launch Phase Mapping for the Extensible Provisioning Protocol (EPP)"

    - #### setPhases

          public void setPhases(java.util.List phases)

      Set `List` of zone phases.
      Parameters:
        `phases` - List of zone phases defined in the "Launch Phase Mapping for the Extensible Provisioning Protocol (EPP)"

    - #### addPhase

          public void addPhase(EPPRegistryPhase phase)

      Append a zone phase to existing `List` of phases.
      Parameters:
        `phase` - define attributes of one phase

    - #### getServices

          public EPPRegistryServices getServices()

      Get services supported by the zone
      Returns:
        instance of `EPPRegistryServices` that lists namespace URIs of the objects and object extensions supported by the zone

    - #### setServices

          public void setServices(EPPRegistryServices services)

      Set services supported by the zone
      Parameters:
        `services` - instance of `EPPRegistryServices` that lists namespace URIs of the objects and object extensions supported by the zone

    - #### getCreatedBy

          public java.lang.String getCreatedBy()

      Get the identifier of the client that created the zone.
      Returns:
        the identifier of the client that created the zone

    - #### setCreatedBy

          public void setCreatedBy(java.lang.String createdBy)

      Set the identifier of the client that created the zone
      Parameters:
        `createdBy` - the identifier of the client that created the zone

    - #### getCreatedDate

          public java.util.Date getCreatedDate()

      Get zone creation date.
      Returns:
        zone creation date

    - #### setCreatedDate

          public void setCreatedDate(java.util.Date createdDate)

      set zone create date.
      Parameters:
        `createdDate` - zone creation date

    - #### getLastUpdatedBy

          public java.lang.String getLastUpdatedBy()

      Get the identifier of the client that last updated the zone object.
      Returns:
        the identifier of the client that last updated the zone object, or `null` if the zone object has never been updated.

    - #### setLastUpdatedBy

          public void setLastUpdatedBy(java.lang.String lastUpdatedBy)

      Set the identifier of the client that last updated the zone object.
      Parameters:
        `lastUpdatedBy` - the identifier of the client that last updated the zone object

    - #### getLastUpdatedDate

          public java.util.Date getLastUpdatedDate()

      Get the zone last updated date.
      Returns:
        the last updated date of the zone object, or `null` if the zone has never been updated.

    - #### setLastUpdatedDate

          public void setLastUpdatedDate(java.util.Date lastUpdatedDate)

      Set the zone last updated date.
      Parameters:
        `lastUpdatedDate` - the last updated date of the zone object

    - #### getDomain

          public EPPRegistryDomain getDomain()

      Get the domain name object policy information.
      Returns:
        the domain name object policy information per RFC 5731

    - #### setDomain

          public void setDomain(EPPRegistryDomain domain)

      Set the domain name object policy information.
      Parameters:
        `domain` - the domain name object policy information per RFC 5731

    - #### getHost

          public EPPRegistryHost getHost()

      Get the host object policy information.
      Returns:
        the host object policy information per RFC 5732

    - #### setHost

          public void setHost(EPPRegistryHost host)

      Set the host object policy information.
      Parameters:
        `host` - the host object policy information per RFC 5732

    - #### getContact

          public EPPRegistryContact getContact()

      Get the contact object policy information.
      Returns:
        the contact object policy information per RFC 5733.

    - #### setContact

          public void setContact(EPPRegistryContact contact)

      Set the contact object policy information.
      Parameters:
        `contact` - the contact object policy information per RFC 5733.

    - #### getSlaInfo

          public EPPRegistrySLAInfo getSlaInfo()

      Get the Service-Level Agreement (SLA) information for the zone.
      Returns:
        the Service-Level Agreement (SLA) information for the zone.

    - #### setSlaInfo

          public void setSlaInfo(EPPRegistrySLAInfo slaInfo)

      Set the Service-Level Agreement (SLA) information for the zone.
      Parameters:
        `slaInfo` - the Service-Level Agreement (SLA) information for the zone.

    - #### getSubProduct

          public java.lang.String getSubProduct()

      Get the sub-product identifier used for the zone.
      Returns:
        sub-product identifier used for the zone and used as the value of the <namestoreExt:subProduct> element of the NameStore Extension

    - #### setSubProduct

          public void setSubProduct(java.lang.String subProduct)

      Set the sub-product identifier used for the zone.
      Parameters:
        `subProduct` - sub-product identifier used for the zone and used as the value of the <namestoreExt:subProduct> element of the NameStore Extension

    - #### getGroup

          public java.lang.String getGroup()

      Get zone group.
      Returns:
        server defined grouping of zones that the zone belongs to with similar features and policies

    - #### setGroup

          public void setGroup(java.lang.String group)

      Set zone group.
      Parameters:
        `group` - server defined grouping of zones that the zone belongs to with similar features and policies

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