com.verisign.epp.codec.registry.v02

## Class EPPRegistryZone

- java.lang.Object
- - com.verisign.epp.codec.registry.v02.EPPRegistryZone

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

      public class EPPRegistryZone
      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: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: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 OPTIONAL date and time of zone object creation. The <registry:crDate> element MUST be set if the zone object has already been created. 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:unsupportedData> - The OPTIONAL policy associated with receipt of unsupported data sent by the client to the server. The unsupported data may be an unsupported element or extension. The server SHOULD be consistent in the handling of unsupported data.
  - <registry:batch> - The OPTIONAL list of batch jobs.
  - <registry:system> - The OPTIONAL list of zones that makeup the system when the "perSystem" share policy is used for the internal hosts, external hosts, or contacts. The list of zones are listed independent of the client's privileges to provision domains in the zone.
  - <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:
    `EPPRegistryZoneSummary`, `EPPRegistryServices`, `EPPRegistryDomain`, `EPPRegistryHost`, `EPPRegistryContact`, Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `EPPRegistryZone.UnsupportedData` Possible values for the `unsupportedData` attribute.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `ELM_LOCALNAME` XML local name for `EPPRegistryZone`.
    `static java.lang.String` | `ELM_NAME` XML root tag for `EPPRegistryZone`.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPRegistryZone()` Default constructor.
    `EPPRegistryZone(EPPRegistryZoneName aName)` Construct an `EPPRegistryZone` instance using a zone name. All other non list attributes are initialized to `null`.
    `EPPRegistryZone(EPPRegistryZoneName aName, java.lang.String aCreatedBy, java.util.Date aCreatedDate)` Construct an `EPPRegistryZone` instance using a zone name, a create id and a create date.
    `EPPRegistryZone(java.lang.String aName)` Construct an `EPPRegistryZone` instance using a zone name as an aLabel. All other non list attributes are initialized to `null`.
    `EPPRegistryZone(java.lang.String aName, java.lang.String aCreatedBy, java.util.Date aCreatedDate)` Construct an `EPPRegistryZone` instance using a zone name as an aLabel, a create id and a create date.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addBatchJob(EPPRegistryBatchJob aBatchJob)` Add a batch job to the list of batch jobs.
    `void` | `addSystemZone(EPPRegistryZoneName aSystemZone)` Add a zone to the list of system zones.
    `java.lang.Object` | `clone()` Clone `EPPRegistryZone`.
    `void` | `decode(org.w3c.dom.Element aElement)` Decode the `EPPRegistryZone` 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 `EPPRegistryZone` instance.
    `boolean` | `equals(java.lang.Object aObject)` implements a deep `EPPRegistryZone` compare.
    `java.util.List<EPPRegistryBatchJob>` | `getBatchJobs()` Get the `List` of `EPPRegistryBatchJob` that specifies the batch jobs.
    `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()` Gets the 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.
    `EPPRegistryZoneName` | `getName()` Gets the name of zone.
    `java.lang.String` | `getNamespace()` Returns the XML namespace associated with the `EPPCodecComponent`.
    `EPPRegistryServices` | `getServices()` Get services supported by the zone
    `java.util.List<EPPRegistryZoneName>` | `getSystemZones()` Get the `List` of `EPPRegistryZoneName` that specifies the system zones.
    `EPPRegistryZone.UnsupportedData` | `getUnsupportedData()` Gets the unsupported data policy.
    `boolean` | `hasBatchJobs()` Is the batch jobs defined?
    `boolean` | `hasContact()` Is the contact defined?
    `boolean` | `hasCreatedBy()` Is the created by defined?
    `boolean` | `hasCreatedDate()` Is the created date defined?
    `boolean` | `hasDomain()` Is the domain defined?
    `boolean` | `hasGroup()` Is the zone group defined?
    `boolean` | `hasHost()` Is the host defined?
    `boolean` | `hasLastUpdatedBy()` Is the last updated by defined?
    `boolean` | `hasLastUpdatedDate()` Is the last updated date defined?
    `boolean` | `hasName()` Is the name defined?
    `boolean` | `hasServices()` Is the services defined?
    `boolean` | `hasSystemZones()` Is the system zones defined?
    `boolean` | `hasUnsupportedData()` Is the unsupported data policy defined?
    `void` | `setBatchJobs(java.util.List<EPPRegistryBatchJob> aBatchJobs)` Set the `List` of `EPPRegistryBatchJob` that includes all of the batch jobs.
    `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 aGroup)` Sets the 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(EPPRegistryZoneName aName)` Sets the name of zone.
    `void` | `setName(java.lang.String aName)` Sets the name of zone as an aLabel.
    `void` | `setServices(EPPRegistryServices services)` Set services supported by the zone
    `void` | `setSystemZones(java.util.List<EPPRegistryZoneName> aSystemZones)` Set the `List` of `EPPRegistryZoneName` that includes all of the system zones.
    `void` | `setUnsupportedData(EPPRegistryZone.UnsupportedData aUnsupportedData)` Sets the unsupported data policy.
    `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_LOCALNAME

          public static final java.lang.String ELM_LOCALNAME

      XML local name for `EPPRegistryZone`.
      See Also:
        Constant Field Values

    - #### ELM_NAME

          public static final java.lang.String ELM_NAME

      XML root tag for `EPPRegistryZone`.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EPPRegistryZone

          public EPPRegistryZone()

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

    - #### EPPRegistryZone

          public EPPRegistryZone(java.lang.String aName)

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

    - #### EPPRegistryZone

          public EPPRegistryZone(EPPRegistryZoneName aName)

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

    - #### EPPRegistryZone

          public EPPRegistryZone(java.lang.String aName,
                                 java.lang.String aCreatedBy,
                                 java.util.Date aCreatedDate)

      Construct an `EPPRegistryZone` instance using a zone name as an aLabel, 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)`
      Parameters:
        `aName` - fully qualified name of the zone as an aLabel
        `aCreatedBy` - identifier of the client that created the zone
        `aCreatedDate` - creation date of the zone

    - #### EPPRegistryZone

          public EPPRegistryZone(EPPRegistryZoneName aName,
                                 java.lang.String aCreatedBy,
                                 java.util.Date aCreatedDate)

      Construct an `EPPRegistryZone` 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)`
      Parameters:
        `aName` - 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 `EPPRegistryZone` 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 `EPPRegistryZone` instance.
      Throws:
        `EPPEncodeException` - - Unable to encode `EPPRegistryZone` instance.

    - #### decode

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

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

    - #### equals

          public boolean equals(java.lang.Object aObject)

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

    - #### hasName

          public boolean hasName()

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

    - #### getName

          public EPPRegistryZoneName getName()

      Gets the name of zone.
      Returns:
        fully qualified zone name

    - #### setName

          public void setName(EPPRegistryZoneName aName)

      Sets the name of zone.
      Parameters:
        `aName` - fully qualified zone name.

    - #### setName

          public void setName(java.lang.String aName)

      Sets the name of zone as an aLabel.
      Parameters:
        `aName` - fully qualified zone name as an aLabel.

    - #### hasServices

          public boolean hasServices()

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

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

    - #### hasCreatedBy

          public boolean hasCreatedBy()

      Is the created by defined?
      Returns:
        `true` if the created by is defined; `false` otherwise.

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

    - #### hasCreatedDate

          public boolean hasCreatedDate()

      Is the created date defined?
      Returns:
        `true` if the created date is defined; `false` otherwise.

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

    - #### hasLastUpdatedBy

          public boolean hasLastUpdatedBy()

      Is the last updated by defined?
      Returns:
        `true` if the last updated by is defined; `false` otherwise.

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

    - #### hasLastUpdatedDate

          public boolean hasLastUpdatedDate()

      Is the last updated date defined?
      Returns:
        `true` if the last updated date is defined; `false` otherwise.

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

    - #### hasUnsupportedData

          public boolean hasUnsupportedData()

      Is the unsupported data policy defined?
      Returns:
        `true` if the unsupported data policy is defined; `false` otherwise.

    - #### getUnsupportedData

          public EPPRegistryZone.UnsupportedData getUnsupportedData()

      Gets the unsupported data policy.
      Returns:
        unsupported data policy if defined; `null` otherwise.

    - #### setUnsupportedData

          public void setUnsupportedData(EPPRegistryZone.UnsupportedData aUnsupportedData)

      Sets the unsupported data policy.
      Parameters:
        `aUnsupportedData` - Unsupported data policy. Set to `null` to clear it.

    - #### hasBatchJobs

          public boolean hasBatchJobs()

      Is the batch jobs defined?
      Returns:
        `true` if the batch jobs is defined; `false` otherwise.

    - #### getBatchJobs

          public java.util.List<EPPRegistryBatchJob> getBatchJobs()

      Get the `List` of `EPPRegistryBatchJob` that specifies the batch jobs.
      Returns:
        the `List` of `EPPRegistryBatchJob` that specifies the batch jobs

    - #### setBatchJobs

          public void setBatchJobs(java.util.List<EPPRegistryBatchJob> aBatchJobs)

      Set the `List` of `EPPRegistryBatchJob` that includes all of the batch jobs.
      Parameters:
        `aBatchJobs` - the `List` of `EPPRegistryBatchJob` includes all of the batch jobs.

    - #### addBatchJob

          public void addBatchJob(EPPRegistryBatchJob aBatchJob)

      Add a batch job to the list of batch jobs.
      Parameters:
        `aBatchJob` - Batch job to add to the list

    - #### hasSystemZones

          public boolean hasSystemZones()

      Is the system zones defined?
      Returns:
        `true` if the system zones is defined; `false` otherwise.

    - #### getSystemZones

          public java.util.List<EPPRegistryZoneName> getSystemZones()

      Get the `List` of `EPPRegistryZoneName` that specifies the system zones.
      Returns:
        the `List` of `EPPRegistryZoneName` that specifies the system zones

    - #### setSystemZones

          public void setSystemZones(java.util.List<EPPRegistryZoneName> aSystemZones)

      Set the `List` of `EPPRegistryZoneName` that includes all of the system zones.
      Parameters:
        `aSystemZones` - the `List` of `EPPRegistryBatchJob` includes all of the batch jobs.

    - #### addSystemZone

          public void addSystemZone(EPPRegistryZoneName aSystemZone)

      Add a zone to the list of system zones.
      Parameters:
        `aSystemZone` - Zone to add to the list of system zones

    - #### hasDomain

          public boolean hasDomain()

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

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

    - #### hasHost

          public boolean hasHost()

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

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

    - #### hasContact

          public boolean hasContact()

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

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

    - #### hasGroup

          public boolean hasGroup()

      Is the zone group defined?
      Returns:
        `true` if the zone group is defined; `false` otherwise.

    - #### getGroup

          public java.lang.String getGroup()

      Gets the 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 aGroup)

      Sets the zone group.
      Parameters:
        `aGroup` - 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`.