Package com.verisign.epp.codec.domain

## Class EPPDomainInfoResp

- java.lang.Object
- - com.verisign.epp.codec.gen.EPPResponse
  - - com.verisign.epp.codec.domain.EPPDomainInfoResp

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

      public class EPPDomainInfoResp
      extends EPPResponse

  Represents an EPP Domain <domain:infData> response to an `EPPDomainInfoCmd`. When an <info> command has been processed successfully, the EPP <resData> element MUST contain a child <domain:infData> element that identifies the domain namespace and the location of the domain schema. The <domain:infData> element contains the following child elements:
  - A <domain:name> element that contains the fully qualified name of the domain. Use `getName` and `setName` to get and set the element.
  - A <domain:roid> element that contains the Repository Object IDentifier assigned to the domain object when the object was created. Use `getRoid` and `setRoid` to get and set the element.
  - One or more <domain:status> elements that contain the current status descriptors associated with the domain. See the `EPPDomainStatus` description for a list of valid status values. Use `getStatus` and `setStatus` to get and set the elements.
  - If supported by the server, one <domain:registrant> element and one or more <domain:contact> elements that contain identifiers for the human or organizational social information objects associated with the domain object. Use `getContacts` and `setContacts` to get and set the elements. Contacts should only be specified if the Contact Mapping is supported.
  - Zero or more <domain:ns> elements that contain the fully qualified names of the name server objects associated with the domain object. Use `getNs` and `setNs` to get and set the elements.
  - Zero or more <domain:host> elements that contain the fully qualified names of the host objects created under this superordinate domain object. Use `getHost` and `setHost` to get and set the elements.
  - A <domain:clID> element that contains the identifier of the sponsoring client. Use `getClientId` and `setClientId` to get and set the element.
  - A <domain:crID> element that contains the identifier of the client that created the domain name. Use `getCreatedBy` and `setCreatedBy` to get and set the element.
  - A <domain:crDate> element that contains the date and time of domain creation. Use `getCreatedDate` and `setCreatedDate` to get and set the element.
  - A <domain:exDate> element that contains the date and time identifying the end of the domain's registration period. Use `getExpirationDate` and `setExpirationDate` to get and set the element.
  - A <domain:upID> element that contains the identifier of the client that last updated the domain name. This element MUST NOT be present if the domain has never been modified. Use `getLastUpdatedBy` and `setLastUpdatedBy` to get and set the element.
  - A <domain:upDate> element that contains the date and time of the most recent domain modification. This element MUST NOT be present if the domain has never been modified. Use `getLastUpdatedDate` and `setLastUpdatedDate` to get and set the element.
  - A <domain:trDate> elements that contains the date and time of the most recent successful transfer. This element MUST NOT be provided if the domain has never been transferred. Use `getLastTransferDate` and `setLastTransferDate` to get and set the element.
  - An OPTIONAL <domain:authInfo> element that contains authorization information associated with the domain object. This element MUST NOT be provided if the querying client is not the current sponsoring client. Use `getAuthInfo` and `setAuthInfo` to get and set the elements.
  See Also:
    `EPPDomainInfoCmd`, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `CONTACT_TYPE_ADMIN` | Admin contact type constant.
    `static java.lang.String` | `CONTACT_TYPE_BILLING` | Billing contact type constant.
    `static java.lang.String` | `CONTACT_TYPE_TECH` | Tech contact type constant.
    `static java.lang.String` | `ELM_LOCALNAME` | XML local name for `EPPDomainInfoResp`.
    `static java.lang.String` | `ELM_NAME` | XML Element Name of `EPPDomainInfoResp` root element.

    - ### Fields inherited from class com.verisign.epp.codec.gen.EPPResponse

      `ELM_EXTENSION, ELM_MESSAGE_QUEUE, ELM_MESSAGE_QUEUE_QDATE, ELM_RESPONSE_DATA, extensions, TRANSFER_CLIENT_APPROVED, TRANSFER_CLIENT_CANCELLED, TRANSFER_CLIENT_REJECTED, TRANSFER_PENDING, TRANSFER_SERVER_APPROVED, TRANSFER_SERVER_CANCELLED`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EPPDomainInfoResp()` | `EPPDomainInfoResp` default constructor.
    `EPPDomainInfoResp​(EPPTransId aTransId, java.lang.String aRoid, java.lang.String aName, java.lang.String aClientId, java.util.Vector<EPPDomainStatus> aStatuses, java.lang.String aCreatedBy, java.util.Date aCreatedDate, EPPAuthInfo aAuthInfo)` | `EPPDomainInfoResp` constuctor that takes the required attribute values as parameters.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addContact​(EPPDomainContact aContact)` | Adds a contact to the list of contacts.
    `void` | `addHost​(java.lang.String aHost)` | Adds a subordinate host to the list of subordinate hosts.
    `void` | `addNs​(java.lang.String aNs)` | Adds a name server object name to the list of name servers.
    `void` | `addNsAttr​(EPPHostAttr aNsAttr)` | Adds a name server attribute to the list of name server attributes.
    `void` | `addStatus​(EPPDomainStatus aStatus)` | Adds a status to the list of statuses.
    `java.lang.Object` | `clone()` | Clone `EPPDomainInfoResp`.
    `protected void` | `doDecode​(org.w3c.dom.Element aElement)` | Decode the `EPPDomainInfoResp` attributes from the aElement DOM Element tree.
    `protected org.w3c.dom.Element` | `doEncode​(org.w3c.dom.Document aDocument)` | Encode a DOM Element tree from the attributes of the `EPPDomainInfoResp` instance.
    `boolean` | `equals​(java.lang.Object aObject)` | Compare an instance of `EPPDomainInfoResp` with this instance.
    `EPPDomainContact` | `getAdminContact()` | Gets the admin contact if defined.
    `EPPAuthInfo` | `getAuthInfo()` | Get authorization information
    `EPPDomainContact` | `getBillingContact()` | Gets the billing contact if defined.
    `java.lang.String` | `getClientId()` | Gets the domain owning Client Id.
    `EPPDomainContact` | `getContactByType​(java.lang.String aType)` | Gets a contact by type using one of the `CONTACT_TYPE` constants.
    `java.util.Vector<EPPDomainContact>` | `getContacts()` | Gets the Contacts
    `java.lang.String` | `getCreatedBy()` | Gets Client Id that created the domain.
    `java.util.Date` | `getCreatedDate()` | Gets the date and time the domain was created.
    `java.util.Date` | `getExpirationDate()` | Gets the expiration date and time of the domain.
    `java.util.Vector<java.lang.String>` | `getHosts()` | Gets the fully qualified names of the subordinate host objects that exist under the superordinate domain object.
    `java.util.Date` | `getLastTransferDate()` | Gets the date and time of the last successful domain transfer.
    `java.lang.String` | `getLastUpdatedBy()` | Gets the Client Id that last updated the domain.
    `java.util.Date` | `getLastUpdatedDate()` | Gets the date and time of the last domain update.
    `java.lang.String` | `getName()` | Gets the domain name
    `java.lang.String` | `getNamespace()` | Gets the EPP command namespace associated with `EPPDomainInfoResp`.
    `java.util.Vector<EPPHostAttr>` | `getNsAttrs()` | Gets the name server attributes.
    `java.util.Vector<java.lang.String>` | `getNses()` | Gets the name servers.
    `java.lang.String` | `getRegistrant()` | Get registrant
    `java.lang.String` | `getRoid()` | Get roid.
    `java.util.Vector<EPPDomainStatus>` | `getStatuses()` | Get the current associated statuses
    `EPPDomainContact` | `getTechContact()` | Gets the tech contact if defined.
    `java.lang.String` | `getType()` | Gets the EPP response type associated with `EPPDomainInfoResp` .
    `boolean` | `hasAdminContact()` | Has the admin contact been set?
    `boolean` | `hasAuthInfo()` | Has the authorization information been set?
    `boolean` | `hasBillingContact()` | Has the billing contact been set?
    `boolean` | `hasContacts()` | Is at least one contact defined?
    `boolean` | `hasHosts()` | Is at least one subordinate host object defined?
    `boolean` | `hasLastTransferDate()` | Has the last transfer date been set?
    `boolean` | `hasLastUpdatedBy()` | Has the last updated by been set?
    `boolean` | `hasLastUpdatedDate()` | Has the last updated date been set?
    `boolean` | `hasNsAttrs()` | Is at least one name server attribute defined?
    `boolean` | `hasNses()` | Is at least one name server defined?
    `boolean` | `hasRegistrant()` | Has the registrant been set?
    `boolean` | `hasRoid()` | Has registry object identifier (roid) been set?
    `boolean` | `hasStatuses()` | Is at least one status defined?
    `boolean` | `hasTechContact()` | Has the tech contact been set?
    `void` | `setAuthInfo​(EPPAuthInfo aAuthInfo)` | Set authorization information
    `void` | `setClientId​(java.lang.String aClientId)` | Sets the domain owning Client Id.
    `void` | `setContacts​(java.util.Vector<EPPDomainContact> aContacts)` | Sets the Contacts.
    `void` | `setCreatedBy​(java.lang.String aCreatedBy)` | Sets Client Id that created the domain.
    `void` | `setCreatedDate​(java.util.Date aDate)` | Sets the date and time the domain was created.
    `void` | `setExpirationDate​(java.util.Date aExpirationDate)` | Sets the expiration date and time of the domain.
    `void` | `setHosts​(java.util.Vector<java.lang.String> aHosts)` | Sets the fully qualified names of the subordinate host objects that exist under the superordinate domain object.
    `void` | `setLastTransferDate​(java.util.Date aLastTransferDate)` | Sets the last date and time the domain was successfully transferred.
    `void` | `setLastUpdatedBy​(java.lang.String aLastUpdatedBy)` | Sets the Client Id that last updated the domain.
    `void` | `setLastUpdatedDate​(java.util.Date aLastUpdatedDate)` | Sets the last date and time the domain was updated.
    `void` | `setName​(java.lang.String aName)` | Sets the domain name.
    `void` | `setNsAttrs​(java.util.Vector<EPPHostAttr> aServers)` | Sets the name server attributes.
    `void` | `setNses​(java.util.Vector<java.lang.String> aServers)` | Sets the name servers.
    `void` | `setRegistrant​(java.lang.String newRegistrant)` | Set registrants.
    `void` | `setRoid​(java.lang.String aRoid)` | Set registry object identifier (roid).
    `void` | `setStatuses​(java.util.Vector<EPPDomainStatus> aStatuses)` | Set associated statuses.
    `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 com.verisign.epp.codec.gen.EPPResponse

      `addExtension, decode, encode, findDuplicateExtNamespaces, findExtNamespaces, findExtNamespaceSuffixes, findUnsupportedExtNamespaces, findUnsupportedExtNamespaceSuffixes, getExtension, getExtension, getExtensions, getMessageQueue, getMsgQueue, getMsgQueueCount, getMsgQueueDate, getMsgQueueMsg, getQDate, getResult, getResults, getTransId, hasExtension, hasExtensions, hasMessageQueue, hasMsgQueue, hasResultCode, isSuccess, setExtension, setExtensions, setMsgQueue, setResult, setResult, setResult, setResult, setResults, setTransId`

    - ### 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 `EPPDomainInfoResp`.
      See Also:
        Constant Field Values

    - #### ELM_NAME

          public static final java.lang.String ELM_NAME

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

    - #### CONTACT_TYPE_ADMIN

          public static final java.lang.String CONTACT_TYPE_ADMIN

      Admin contact type constant.
      See Also:
        Constant Field Values

    - #### CONTACT_TYPE_TECH

          public static final java.lang.String CONTACT_TYPE_TECH

      Tech contact type constant.
      See Also:
        Constant Field Values

    - #### CONTACT_TYPE_BILLING

          public static final java.lang.String CONTACT_TYPE_BILLING

      Billing contact type constant.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EPPDomainInfoResp

          public EPPDomainInfoResp()

      `EPPDomainInfoResp` default constructor. Must call required setter methods before invoking `encode`, which include:
      - name - `setName`
      - roid - `setRoid`
      - client id - `setClientId`
      - statuses - `setStatuses`
      - created by - `setCreatedBy`
      - created date - `setCreatedDate`
      - transaction id - `setTransId`

    - #### EPPDomainInfoResp

          public EPPDomainInfoResp​(EPPTransId aTransId,
                                   java.lang.String aRoid,
                                   java.lang.String aName,
                                   java.lang.String aClientId,
                                   java.util.Vector<EPPDomainStatus> aStatuses,
                                   java.lang.String aCreatedBy,
                                   java.util.Date aCreatedDate,
                                   EPPAuthInfo aAuthInfo)

      `EPPDomainInfoResp` constuctor that takes the required attribute values as parameters. The setter methods of the optional attributes can be called before invoking `encode`.
      Parameters:
        `aTransId` - Transaction Id associated with response.
        `aRoid` - roid
        `aName` - Domain name
        `aClientId` - Owning Client Id
        `aStatuses` - Current status descriptors associated with the domain.
        `aCreatedBy` - Client Id of Registrar that created the domain
        `aCreatedDate` - Date the domain was created
        `aAuthInfo` - Expirate date of the domain

  - ### Method Detail

    - #### hasHosts

          public boolean hasHosts()

      Is at least one subordinate host object defined?
      Returns:
        `true` if at least one subordinate host object is defined; `false` otherwise.

    - #### getHosts

          public java.util.Vector<java.lang.String> getHosts()

      Gets the fully qualified names of the subordinate host objects that exist under the superordinate domain object.
      Returns:
        `Vector` of host name `String` instances for fully qualified names of the subordinate host objects that exist under the superordinate domain object. A non-`null` `Vector` is always returned.

    - #### setHosts

          public void setHosts​(java.util.Vector<java.lang.String> aHosts)

      Sets the fully qualified names of the subordinate host objects that exist under the superordinate domain object.
      Parameters:
        `aHosts` - `Vector` of host name `String` instances for fully qualified names of the subordinate host objects that exist under the superordinate domain object. Set to `null` if there are no subordinate host objects.

    - #### addHost

          public void addHost​(java.lang.String aHost)

      Adds a subordinate host to the list of subordinate hosts.
      Parameters:
        `aHost` - Host name of the subordinate host

    - #### hasNses

          public boolean hasNses()

      Is at least one name server defined?
      Returns:
        `true` if at least one name server is defined; `false` otherwise.

    - #### getNses

          public java.util.Vector<java.lang.String> getNses()

      Gets the name servers. The name servers are the fully qualified name of a known name server host object.
      Returns:
        `Vector` of name server `String` instances for host object references. A non-`null` `Vector` is always returned.

    - #### setNses

          public void setNses​(java.util.Vector<java.lang.String> aServers)

      Sets the name servers. The name servers are the fully qualified name of a known name server host object.
      Parameters:
        `aServers` - `Vector` of name server `String` instances for host object references.

    - #### addNs

          public void addNs​(java.lang.String aNs)

      Adds a name server object name to the list of name servers.
      Parameters:
        `aNs` - Name server name

    - #### hasNsAttrs

          public boolean hasNsAttrs()

      Is at least one name server attribute defined?
      Returns:
        `true` if at least one name server attribute is defined; `false` otherwise.

    - #### getNsAttrs

          public java.util.Vector<EPPHostAttr> getNsAttrs()

      Gets the name server attributes. The name server attributes are `EPPHostAttr` instances containing the fully qualified name of a host and optionally the host IP addresses.
      Returns:
        `Vector` of `EPPHostAttr` instances for host attribute values if exists. A non-`null` `Vector` is always returned.

    - #### setNsAttrs

          public void setNsAttrs​(java.util.Vector<EPPHostAttr> aServers)

      Sets the name server attributes. The name server attributes are `EPPHostAttr` instances containing the fully qualified name of a host and optionally the host IP addresses.
      Parameters:
        `aServers` - `Vector` of `EPPHostAttr` instances for host attribute values. Set to `null` if there are no name server attributes.

    - #### addNsAttr

          public void addNsAttr​(EPPHostAttr aNsAttr)

      Adds a name server attribute to the list of name server attributes.
      Parameters:
        `aNsAttr` - Name server attribute

    - #### hasStatuses

          public boolean hasStatuses()

      Is at least one status defined?
      Returns:
        `true` if at least one status is defined; `false` otherwise.

    - #### getStatuses

          public java.util.Vector<EPPDomainStatus> getStatuses()

      Get the current associated statuses
      Returns:
        `Vector` of `EPPDomainStatus` instances. A non-`null` `Vector` is always returned.

    - #### setStatuses

          public void setStatuses​(java.util.Vector<EPPDomainStatus> aStatuses)

      Set associated statuses.
      Parameters:
        `aStatuses` - `Vector` of `EPPDomainStatus` instances. Set to `null` to clear the statuses.

    - #### addStatus

          public void addStatus​(EPPDomainStatus aStatus)

      Adds a status to the list of statuses.
      Parameters:
        `aStatus` - Status to add to the list of statuses

    - #### getType

          public java.lang.String getType()

      Gets the EPP response type associated with `EPPDomainInfoResp` .
      Overrides:
        `getType` in class `EPPResponse`
      Returns:
        `EPPDomainInfoResp.ELM_NAME`

    - #### getNamespace

          public java.lang.String getNamespace()

      Gets the EPP command namespace associated with `EPPDomainInfoResp`.
      Specified by:
        `getNamespace` in interface `EPPCodecComponent`
      Specified by:
        `getNamespace` in interface `EPPMessage`
      Overrides:
        `getNamespace` in class `EPPResponse`
      Returns:
        `EPPDomainMapFactory.NS`

    - #### equals

          public boolean equals​(java.lang.Object aObject)

      Compare an instance of `EPPDomainInfoResp` with this instance.
      Overrides:
        `equals` in class `EPPResponse`
      Parameters:
        `aObject` - Object to compare with.
      Returns:
        `true` if equal; `false` otherwise.

    - #### clone

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

      Clone `EPPDomainInfoResp`.
      Specified by:
        `clone` in interface `EPPCodecComponent`
      Overrides:
        `clone` in class `EPPResponse`
      Returns:
        clone of `EPPDomainInfoResp`
      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 `EPPResponse`
      Returns:
        Indented XML `String` if successful; `ERROR` otherwise.

    - #### getName

          public java.lang.String getName()

      Gets the domain name
      Returns:
        Domain Name if defined; `null` otherwise.

    - #### setName

          public void setName​(java.lang.String aName)

      Sets the domain name.
      Parameters:
        `aName` - Domain Name

    - #### getClientId

          public java.lang.String getClientId()

      Gets the domain owning Client Id.
      Returns:
        Client Id

    - #### setClientId

          public void setClientId​(java.lang.String aClientId)

      Sets the domain owning Client Id.
      Parameters:
        `aClientId` - Client Id

    - #### hasContacts

          public boolean hasContacts()

      Is at least one contact defined?
      Returns:
        `true` if at least one contact is defined; `false` otherwise.

    - #### getContacts

          public java.util.Vector<EPPDomainContact> getContacts()

      Gets the Contacts
      Returns:
        `Vector` of `EPPDomainContact` instances if contacts exist; `null` otherwise.

    - #### getContactByType

          public EPPDomainContact getContactByType​(java.lang.String aType)

      Gets a contact by type using one of the `CONTACT_TYPE` constants.
      Parameters:
        `aType` - Type of constant using one of the `CONTACT_TYPE` constants.
      Returns:
        Contact by type if found; `null` otherwise.

    - #### hasAdminContact

          public boolean hasAdminContact()

      Has the admin contact been set?
      Returns:
        `true` if the admin contact has been set; `false` otherwise.

    - #### getAdminContact

          public EPPDomainContact getAdminContact()

      Gets the admin contact if defined.
      Returns:
        Admin contact if defined; `null` otherwise.

    - #### hasTechContact

          public boolean hasTechContact()

      Has the tech contact been set?
      Returns:
        `true` if the tech contact has been set; `false` otherwise.

    - #### getTechContact

          public EPPDomainContact getTechContact()

      Gets the tech contact if defined.
      Returns:
        Tech contact if defined; `null` otherwise.

    - #### hasBillingContact

          public boolean hasBillingContact()

      Has the billing contact been set?
      Returns:
        `true` if the billing contact has been set; `false` otherwise.

    - #### getBillingContact

          public EPPDomainContact getBillingContact()

      Gets the billing contact if defined.
      Returns:
        Billing contact if defined; `null` otherwise.

    - #### setContacts

          public void setContacts​(java.util.Vector<EPPDomainContact> aContacts)

      Sets the Contacts. This method should only be called if the Contact Namespace supported.
      Parameters:
        `aContacts` - - `Vector` of `EPPDomainContact` instances

    - #### addContact

          public void addContact​(EPPDomainContact aContact)

      Adds a contact to the list of contacts.
      Parameters:
        `aContact` - Contact to add to the list of contacts

    - #### getCreatedBy

          public java.lang.String getCreatedBy()

      Gets Client Id that created the domain.
      Returns:
        Client Id if defined; `null` otherwise.

    - #### setCreatedBy

          public void setCreatedBy​(java.lang.String aCreatedBy)

      Sets Client Id that created the domain.
      Parameters:
        `aCreatedBy` - Client Id that created the domain.

    - #### getCreatedDate

          public java.util.Date getCreatedDate()

      Gets the date and time the domain was created.
      Returns:
        Date and time the domain was created if defined; `null` otherwise.

    - #### setCreatedDate

          public void setCreatedDate​(java.util.Date aDate)

      Sets the date and time the domain was created.
      Parameters:
        `aDate` - Date and time the domain was created.

    - #### getExpirationDate

          public java.util.Date getExpirationDate()

      Gets the expiration date and time of the domain.
      Returns:
        Expiration date and time of the domain if defined; `null` otherwise.

    - #### setExpirationDate

          public void setExpirationDate​(java.util.Date aExpirationDate)

      Sets the expiration date and time of the domain.
      Parameters:
        `aExpirationDate` - Expiration date and time of the domain.

    - #### hasLastUpdatedBy

          public boolean hasLastUpdatedBy()

      Has the last updated by been set?
      Returns:
        `true` if the last updated by has been set; `false` otherwise.

    - #### getLastUpdatedBy

          public java.lang.String getLastUpdatedBy()

      Gets the Client Id that last updated the domain. This will be null if the domain has not been updated since creation.
      Returns:
        Client Id that last updated the domain has been updated; `null` otherwise.

    - #### setLastUpdatedBy

          public void setLastUpdatedBy​(java.lang.String aLastUpdatedBy)

      Sets the Client Id that last updated the domain.
      Parameters:
        `aLastUpdatedBy` - Client Id String that last updated the domain.

    - #### hasLastUpdatedDate

          public boolean hasLastUpdatedDate()

      Has the last updated date been set?
      Returns:
        `true` if the last updated date has been set; `false` otherwise.

    - #### getLastUpdatedDate

          public java.util.Date getLastUpdatedDate()

      Gets the date and time of the last domain update. This will be `null` if the domain has not been updated since creation.
      Returns:
        date and time of the last domain update if defined; `null` otherwise.

    - #### setLastUpdatedDate

          public void setLastUpdatedDate​(java.util.Date aLastUpdatedDate)

      Sets the last date and time the domain was updated.
      Parameters:
        `aLastUpdatedDate` - Date and time of the last domain update.

    - #### hasLastTransferDate

          public boolean hasLastTransferDate()

      Has the last transfer date been set?
      Returns:
        `true` if the last transfer date has been set; `false` otherwise.

    - #### getLastTransferDate

          public java.util.Date getLastTransferDate()

      Gets the date and time of the last successful domain transfer. This will be `null` if the domain has not been successfully transferred since creation.
      Returns:
        date and time of the last successful transfer if defined; `null` otherwise.

    - #### setLastTransferDate

          public void setLastTransferDate​(java.util.Date aLastTransferDate)

      Sets the last date and time the domain was successfully transferred.
      Parameters:
        `aLastTransferDate` - Date and time of the last succesful transfer

    - #### hasAuthInfo

          public boolean hasAuthInfo()

      Has the authorization information been set?
      Returns:
        `true` if the authorization information has been set; `false` otherwise.

    - #### getAuthInfo

          public EPPAuthInfo getAuthInfo()

      Get authorization information
      Returns:
        Authorization information if defined; `null` otherwise;

    - #### setAuthInfo

          public void setAuthInfo​(EPPAuthInfo aAuthInfo)

      Set authorization information
      Parameters:
        `aAuthInfo` - EPPAuthInfo

    - #### hasRegistrant

          public boolean hasRegistrant()

      Has the registrant been set?
      Returns:
        `true` if the registrant has been set; `false` otherwise.

    - #### getRegistrant

          public java.lang.String getRegistrant()

      Get registrant
      Returns:
        String

    - #### setRegistrant

          public void setRegistrant​(java.lang.String newRegistrant)

      Set registrants.
      Parameters:
        `newRegistrant` - String

    - #### hasRoid

          public boolean hasRoid()

      Has registry object identifier (roid) been set?
      Returns:
        `true` if the registry object identifier (roid) has been set; `false` otherwise.

    - #### getRoid

          public java.lang.String getRoid()

      Get roid.
      Returns:
        registry object identifier (roid)

    - #### setRoid

          public void setRoid​(java.lang.String aRoid)

      Set registry object identifier (roid).
      Parameters:
        `aRoid` - registry object identifier (roid) value

    - #### doEncode

          protected org.w3c.dom.Element doEncode​(org.w3c.dom.Document aDocument)
                                          throws EPPEncodeException

      Encode a DOM Element tree from the attributes of the `EPPDomainInfoResp` instance.
      Overrides:
        `doEncode` in class `EPPResponse`
      Parameters:
        `aDocument` - DOM Document that is being built. Used as an Element factory.
      Returns:
        Element Root DOM Element representing the EPPDomainInfoResp instance.
      Throws:
        `EPPEncodeException` - Unable to encode EPPDomainInfoResp instance.

    - #### doDecode

          protected void doDecode​(org.w3c.dom.Element aElement)
                           throws EPPDecodeException

      Decode the `EPPDomainInfoResp` attributes from the aElement DOM Element tree.
      Overrides:
        `doDecode` in class `EPPResponse`
      Parameters:
        `aElement` - Root DOM Element to decode `EPPDomainInfoResp` from.
      Throws:
        `EPPDecodeException` - Unable to decode aElement