com.verisign.epp.interfaces

## Class EPPDomain

- java.lang.Object
- - com.verisign.epp.interfaces.EPPDomain

- Direct Known Subclasses:
    EPPRelatedDomain

      public class EPPDomain
      extends java.lang.Object

  `EPPDomain` is the primary client interface class used for domain management. An instance of `EPPDomain` is created with an initialized `EPPSession`, and can be used for more than one request within a single thread. A set of setter methods are provided to set the attributes before a call to one of the send action methods. The responses returned from the send action methods are either instances of `EPPResponse` or instances of response classes in the `com.verisign.epp.codec.domain` package.
  See Also:
    `EPPResponse`, `EPPDomainCreateResp`, `EPPDomainInfoResp`, `EPPDomainCheckResp`, `EPPDomainTransferResp`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `ADD` Used to specify the addition of an attribute with `setUpdateAttrib`.
    `static int` | `CHANGE` Used to specify the change of an attribute with `setUpdateAttrib`.
    `static int` | `CONTACT` Used to specify a contact update with `setUpdateAttrib`.
    `static java.lang.String` | `CONTACT_ADMINISTRATIVE` Administrative contact constant used with @link{#addContact(String, String)}
    `static java.lang.String` | `CONTACT_BILLING` Billing contact constant used with @link{#addContact(String, String)}
    `static java.lang.String` | `CONTACT_TECHNICAL` Technical contact constant used with @link{#addContact(String, String)}
    `static int` | `HOST` Used to specify a host update with `setUpdateAttrib`.
    `static java.lang.String` | `HOSTS_ALL` Constant on a call to `setHosts` to get information on all hosts (delegated and subordinate).
    `static java.lang.String` | `HOSTS_DELEGATED` Constant on a call to `setHosts` to get information on just the delegated hosts.
    `static java.lang.String` | `HOSTS_SUBORDINATE` Constant on a call to `setHosts` to get information on just the subordinate hosts.
    `static java.lang.String` | `PERIOD_MONTH` Period month unit contant.
    `static java.lang.String` | `PERIOD_YEAR` Period year unit constant.
    `static int` | `REMOVE` Used to specify the removal of an attribute with `setUpdateAttrib`.
    `static int` | `STATUS` Used to specify a status update with `setUpdateAttrib`.
    `static java.lang.String` | `STATUS_CLIENT_DELETE_PROHIBITED` `clientDeleteProhibited` constant used with @link{#setUpdateAttrib(int, EPPDomainStatus, int)}.
    `static java.lang.String` | `STATUS_CLIENT_HOLD` `clientHold` constant used with @link{#setUpdateAttrib(int, EPPDomainStatus, int)}.
    `static java.lang.String` | `STATUS_CLIENT_RENEW_PROHIBITED` `clientRenewProhibited` constant used with @link{#setUpdateAttrib(int, EPPDomainStatus, int)}.
    `static java.lang.String` | `STATUS_CLIENT_TRANSFER_PROHIBITED` `clientTransferProhibited` constant used with @link{#setUpdateAttrib(int, EPPDomainStatus, int)}.
    `static java.lang.String` | `STATUS_CLIENT_UPDATE_PROHIBITED` `clientUpdateProhibited` constant used with @link{#setUpdateAttrib(int, EPPDomainStatus, int)}.
    `static java.lang.String` | `STATUS_INACTIVE` `inactive` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
    `static java.lang.String` | `STATUS_OK` `ok` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
    `static java.lang.String` | `STATUS_PENDING_CREATE` `pendingCreate` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
    `static java.lang.String` | `STATUS_PENDING_DELETE` `pendingDelete` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
    `static java.lang.String` | `STATUS_PENDING_RENEW` `pendingRenew` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
    `static java.lang.String` | `STATUS_PENDING_TRANSFER` `pendingTransfer` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
    `static java.lang.String` | `STATUS_PENDING_UPDATE` `pendingUpdate` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
    `static java.lang.String` | `STATUS_SERVER_DELETE_PROHIBITED` `serverDeleteProhibited` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
    `static java.lang.String` | `STATUS_SERVER_HOLD` `serverHold` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
    `static java.lang.String` | `STATUS_SERVER_RENEW_PROHIBITED` `serverRenewProhibited` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
    `static java.lang.String` | `STATUS_SERVER_TRANSFER_PROHIBITED` `serverTransferProhibited` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
    `static java.lang.String` | `STATUS_SERVER_UPDATE_PROHIBITED` `serverUpdateProhibited` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
    `static java.lang.String` | `TRANSFER_APPROVE` Transfer approve operation constant used with @link{#setTransferOpCode(String)}
    `static java.lang.String` | `TRANSFER_CANCEL` Transfer cancel operation constant used with @link{#setTransferOpCode(String)}
    `static java.lang.String` | `TRANSFER_QUERY` Transfer query operation constant used with @link{#setTransferOpCode(String)}
    `static java.lang.String` | `TRANSFER_REJECT` Transfer reject operation constant used with @link{#setTransferOpCode(String)}
    `static java.lang.String` | `TRANSFER_REQUEST` Transfer request operation constant used with @link{#setTransferOpCode(String)}

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPDomain(EPPSession aSession)` Constructs an `EPPDomain` given an initialized EPP session.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addContact(java.lang.String aName, java.lang.String aType)` Will add a new contact which includes a name and a type.
    `void` | `addDomainName(java.lang.String aDomain)` Adds a domain name for use with a `send` method.
    `void` | `addExtension(EPPCodecComponent aExtension)` Adds a command extension object.
    `void` | `addHostAttr(EPPHostAttr aHostAttr)` Adds a host attribute name for use as a Domain delegating host.
    `void` | `addHostName(java.lang.String aHost)` Adds a host name for use as a Domain delegating host.
    `EPPAuthInfo` | `getAuthInfo()` Gets the set authorization information if defined.
    `java.lang.String` | `getAuthRoid()` Sets the authorization roid that is used to identify the registrant or contact object if and only if the value of authInfo, set by `setAuthString(String)`, is associated with the registrant or contact object.
    `java.lang.String` | `getAuthString()` Sets the authorization string associated with an `sendCreate` and `sendTransfer`.
    `java.util.Date` | `getExpirationDate()` Gets the Domain expiration date.
    `java.util.Vector` | `getExtensions()` Gets the command extensions.
    `java.lang.String` | `getHosts()` Sets the desired level of host information.
    `int` | `getPeriodLength()` Gets the registration period.
    `java.lang.String` | `getPeriodUnit()` Gets the registration period unit.
    `java.lang.String` | `getRegistrant()` Gets the Domain Registrant Contact Identifier.
    `EPPResponse` | `getResponse()` Gets the response associated with the last command.
    `protected void` | `resetDomain()` Resets the domain instance to its initial state.
    `EPPDomainCheckResp` | `sendCheck()` Sends a Domain Name Check Command to the server. The required attributes have been set with the following methods: `addDomainName` - Adds a domain name to check.
    `EPPDomainCreateResp` | `sendCreate()` Sends a Domain Name Create Command to the server. The required attributes have been set with the following methods: `addDomainName` - Sets the domain name to create.
    `EPPResponse` | `sendDelete()` Sends a Domain Name Delete Command to the server. The required attributes have been set with the following methods: `addDomainName` - Sets the domain name to delete.
    `EPPDomainInfoResp` | `sendInfo()` Sends a Domain Name Info Command to the server. The required attributes have been set with the following methods: `addDomainName` - Sets the domain name to get info for.
    `EPPDomainRenewResp` | `sendRenew()` Sends a Domain Name Renew Command to the server. The required attributes have been set with the following methods: `addDomainName` - Sets the domain name to renew.
    `EPPDomainTransferResp` | `sendTransfer()` Sends a Domain Name Transfer Command to the server. The required attributes have been set with the following methods: `addDomainName` - Sets the domain name for transfer command.
    `EPPResponse` | `sendUpdate()` Sends a Domain Name Update Command to the server. The required attributes have been set with the following methods: `addDomainName` - Sets the domain name to update.
    `void` | `setAuthInfo(EPPAuthInfo aAuthInfo)` Sets the authorization information using the `EPPAuthInfo` object.
    `void` | `setAuthRoid(java.lang.String aAuthRoid)` Gets the authorization roid that is used to identify the registrant or contact object if and only if the value of authInfo, set by `setAuthString(String)`, is associated with the registrant or contact object.
    `void` | `setAuthString(java.lang.String aAuthString)` Sets the authorization string associated with an `sendCreate` and `sendTransfer` and optionally `sendInfo`.
    `void` | `setExpirationDate(java.util.Date aExpirationDate)` Sets the Domain expiration date.
    `void` | `setExtension(EPPCodecComponent aExtension)` Deprecated. Replaced by `addExtension(EPPCodecComponent)`. This method will add the extension as is done in `addExtension(EPPCodecComponent)`.
    `void` | `setExtensions(java.util.Vector aExtensions)` Sets the command extension objects.
    `void` | `setHosts(java.lang.String aHosts)` Sets the desired level of host information.
    `void` | `setPeriodLength(int aPeriodLength)` Sets the registration period.
    `void` | `setPeriodUnit(java.lang.String aPeriodUnit)` Sets the registration period unit to either `PERIOD_MONTH` or `PERIOD_YEAR`.
    `void` | `setRegistrant(java.lang.String aRegistrant)` Sets the Domain Registrant Contact Identifier.
    `void` | `setTransferOpCode(java.lang.String aTransferOpCode)` Sets the transfer operation for a call to `encodeTransfer`.
    `void` | `setTransId(java.lang.String aTransId)` Sets the client transaction identifier.
    `void` | `setUpdateAttrib(int aType, EPPDomainStatus aName, int aOp)` Sets an update to a domain status.
    `void` | `setUpdateAttrib(int aType, java.lang.String aName, int aOp)` Sets an update to a string list value, which currently can only be used for domain hosts.
    `void` | `setUpdateAttrib(int aType, java.lang.String aVal, java.lang.String aValType, int aOp)` Sets an update to a domain contact.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### HOST

          public static final int HOST

      Used to specify a host update with `setUpdateAttrib`.
      See Also:
        Constant Field Values

    - #### CONTACT

          public static final int CONTACT

      Used to specify a contact update with `setUpdateAttrib`.
      See Also:
        Constant Field Values

    - #### STATUS

          public static final int STATUS

      Used to specify a status update with `setUpdateAttrib`.
      See Also:
        Constant Field Values

    - #### ADD

          public static final int ADD

      Used to specify the addition of an attribute with `setUpdateAttrib`.
      See Also:
        Constant Field Values

    - #### REMOVE

          public static final int REMOVE

      Used to specify the removal of an attribute with `setUpdateAttrib`.
      See Also:
        Constant Field Values

    - #### CHANGE

          public static final int CHANGE

      Used to specify the change of an attribute with `setUpdateAttrib`.
      See Also:
        Constant Field Values

    - #### STATUS_OK

          public static final java.lang.String STATUS_OK

      `ok` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
      See Also:
        Constant Field Values

    - #### STATUS_SERVER_HOLD

          public static final java.lang.String STATUS_SERVER_HOLD

      `serverHold` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
      See Also:
        Constant Field Values

    - #### STATUS_SERVER_RENEW_PROHIBITED

          public static final java.lang.String STATUS_SERVER_RENEW_PROHIBITED

      `serverRenewProhibited` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
      See Also:
        Constant Field Values

    - #### STATUS_SERVER_TRANSFER_PROHIBITED

          public static final java.lang.String STATUS_SERVER_TRANSFER_PROHIBITED

      `serverTransferProhibited` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
      See Also:
        Constant Field Values

    - #### STATUS_SERVER_UPDATE_PROHIBITED

          public static final java.lang.String STATUS_SERVER_UPDATE_PROHIBITED

      `serverUpdateProhibited` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
      See Also:
        Constant Field Values

    - #### STATUS_SERVER_DELETE_PROHIBITED

          public static final java.lang.String STATUS_SERVER_DELETE_PROHIBITED

      `serverDeleteProhibited` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
      See Also:
        Constant Field Values

    - #### STATUS_INACTIVE

          public static final java.lang.String STATUS_INACTIVE

      `inactive` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
      See Also:
        Constant Field Values

    - #### STATUS_PENDING_CREATE

          public static final java.lang.String STATUS_PENDING_CREATE

      `pendingCreate` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
      See Also:
        Constant Field Values

    - #### STATUS_PENDING_DELETE

          public static final java.lang.String STATUS_PENDING_DELETE

      `pendingDelete` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
      See Also:
        Constant Field Values

    - #### STATUS_PENDING_RENEW

          public static final java.lang.String STATUS_PENDING_RENEW

      `pendingRenew` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
      See Also:
        Constant Field Values

    - #### STATUS_PENDING_TRANSFER

          public static final java.lang.String STATUS_PENDING_TRANSFER

      `pendingTransfer` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
      See Also:
        Constant Field Values

    - #### STATUS_PENDING_UPDATE

          public static final java.lang.String STATUS_PENDING_UPDATE

      `pendingUpdate` constant used with @link{com.verisign.epp.codec.domain.EPPDomainInfoResp.getStatuses()}.
      See Also:
        Constant Field Values

    - #### STATUS_CLIENT_HOLD

          public static final java.lang.String STATUS_CLIENT_HOLD

      `clientHold` constant used with @link{#setUpdateAttrib(int, EPPDomainStatus, int)}.
      See Also:
        Constant Field Values

    - #### STATUS_CLIENT_RENEW_PROHIBITED

          public static final java.lang.String STATUS_CLIENT_RENEW_PROHIBITED

      `clientRenewProhibited` constant used with @link{#setUpdateAttrib(int, EPPDomainStatus, int)}.
      See Also:
        Constant Field Values

    - #### STATUS_CLIENT_TRANSFER_PROHIBITED

          public static final java.lang.String STATUS_CLIENT_TRANSFER_PROHIBITED

      `clientTransferProhibited` constant used with @link{#setUpdateAttrib(int, EPPDomainStatus, int)}.
      See Also:
        Constant Field Values

    - #### STATUS_CLIENT_UPDATE_PROHIBITED

          public static final java.lang.String STATUS_CLIENT_UPDATE_PROHIBITED

      `clientUpdateProhibited` constant used with @link{#setUpdateAttrib(int, EPPDomainStatus, int)}.
      See Also:
        Constant Field Values

    - #### STATUS_CLIENT_DELETE_PROHIBITED

          public static final java.lang.String STATUS_CLIENT_DELETE_PROHIBITED

      `clientDeleteProhibited` constant used with @link{#setUpdateAttrib(int, EPPDomainStatus, int)}.
      See Also:
        Constant Field Values

    - #### TRANSFER_APPROVE

          public static final java.lang.String TRANSFER_APPROVE

      Transfer approve operation constant used with @link{#setTransferOpCode(String)}
      See Also:
        Constant Field Values

    - #### TRANSFER_CANCEL

          public static final java.lang.String TRANSFER_CANCEL

      Transfer cancel operation constant used with @link{#setTransferOpCode(String)}
      See Also:
        Constant Field Values

    - #### TRANSFER_QUERY

          public static final java.lang.String TRANSFER_QUERY

      Transfer query operation constant used with @link{#setTransferOpCode(String)}
      See Also:
        Constant Field Values

    - #### TRANSFER_REJECT

          public static final java.lang.String TRANSFER_REJECT

      Transfer reject operation constant used with @link{#setTransferOpCode(String)}
      See Also:
        Constant Field Values

    - #### TRANSFER_REQUEST

          public static final java.lang.String TRANSFER_REQUEST

      Transfer request operation constant used with @link{#setTransferOpCode(String)}
      See Also:
        Constant Field Values

    - #### CONTACT_ADMINISTRATIVE

          public static final java.lang.String CONTACT_ADMINISTRATIVE

      Administrative contact constant used with @link{#addContact(String, String)}
      See Also:
        Constant Field Values

    - #### CONTACT_BILLING

          public static final java.lang.String CONTACT_BILLING

      Billing contact constant used with @link{#addContact(String, String)}
      See Also:
        Constant Field Values

    - #### CONTACT_TECHNICAL

          public static final java.lang.String CONTACT_TECHNICAL

      Technical contact constant used with @link{#addContact(String, String)}
      See Also:
        Constant Field Values

    - #### PERIOD_MONTH

          public static final java.lang.String PERIOD_MONTH

      Period month unit contant.
      See Also:
        Constant Field Values

    - #### PERIOD_YEAR

          public static final java.lang.String PERIOD_YEAR

      Period year unit constant. This is the default unit.
      See Also:
        Constant Field Values

    - #### HOSTS_ALL

          public static final java.lang.String HOSTS_ALL

      Constant on a call to `setHosts` to get information on all hosts (delegated and subordinate). This is the default settings.
      See Also:
        Constant Field Values

    - #### HOSTS_DELEGATED

          public static final java.lang.String HOSTS_DELEGATED

      Constant on a call to `setHosts` to get information on just the delegated hosts.
      See Also:
        Constant Field Values

    - #### HOSTS_SUBORDINATE

          public static final java.lang.String HOSTS_SUBORDINATE

      Constant on a call to `setHosts` to get information on just the subordinate hosts.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EPPDomain

          public EPPDomain(EPPSession aSession)

      Constructs an `EPPDomain` given an initialized EPP session.
      Parameters:
        `aSession` - Server session to use.

  - ### Method Detail

    - #### addExtension

          public void addExtension(EPPCodecComponent aExtension)

      Adds a command extension object.
      Parameters:
        `aExtension` - command extension object associated with the command

    - #### setExtension

          @Deprecated
          public void setExtension(EPPCodecComponent aExtension)

      Deprecated. Replaced by `addExtension(EPPCodecComponent)`. This method will add the extension as is done in `addExtension(EPPCodecComponent)`.
      Sets a command extension object.
      Parameters:
        `aExtension` - command extension object associated with the command

    - #### setExtensions

          public void setExtensions(java.util.Vector aExtensions)

      Sets the command extension objects.
      Parameters:
        `aExtensions` - command extension objects associated with the command

    - #### getExtensions

          public java.util.Vector getExtensions()

      Gets the command extensions.
      Returns:
        `Vector` of concrete `EPPCodecComponent` associated with the command if exists; `null` otherwise.

    - #### addDomainName

          public void addDomainName(java.lang.String aDomain)

      Adds a domain name for use with a `send` method. Adding more than one domain name is only supported by `sendCheck`.
      Parameters:
        `aDomain` - Domain name to add

    - #### addHostName

          public void addHostName(java.lang.String aHost)

      Adds a host name for use as a Domain delegating host.
      Parameters:
        `aHost` - Host name to add

    - #### addHostAttr

          public void addHostAttr(EPPHostAttr aHostAttr)

      Adds a host attribute name for use as a Domain delegating host. Calls to `addHostAttr` can not be mixed with calls to `addHostName`.
      Parameters:
        `aHostAttr` - aHostAttr Host attribute

    - #### addContact

          public void addContact(java.lang.String aName,
                                 java.lang.String aType)

      Will add a new contact which includes a name and a type.
      Parameters:
        `aName` - Contact Name
        `aType` - Contact Type, which should be a `EPPDomain.CONTACT_` constant.

    - #### setExpirationDate

          public void setExpirationDate(java.util.Date aExpirationDate)

      Sets the Domain expiration date.
      Parameters:
        `aExpirationDate` - Domain expiration date

    - #### getExpirationDate

          public java.util.Date getExpirationDate()

      Gets the Domain expiration date.
      Returns:
        Domain expiration date

    - #### setTransferOpCode

          public void setTransferOpCode(java.lang.String aTransferOpCode)

      Sets the transfer operation for a call to `encodeTransfer`. The transfer code must be set to one of the `EPPDomain.TRANSFER_` constants.
      Parameters:
        `aTransferOpCode` - One of the `EPPDomain.TRANSFER_` constants

    - #### setTransId

          public void setTransId(java.lang.String aTransId)

      Sets the client transaction identifier.
      Parameters:
        `aTransId` - Client transaction identifier

    - #### setAuthString

          public void setAuthString(java.lang.String aAuthString)

      Sets the authorization string associated with an `sendCreate` and `sendTransfer` and optionally `sendInfo`.
      Parameters:
        `aAuthString` - Authorization string

    - #### getAuthRoid

          public java.lang.String getAuthRoid()

      Sets the authorization roid that is used to identify the registrant or contact object if and only if the value of authInfo, set by `setAuthString(String)`, is associated with the registrant or contact object. This can be used with `sendTransfer` and `sendInfo` along with setting the authInfo with the `setAuthString(String)` method.
      Returns:
        Roid of registrant or contact object if defined; `null` otherwise.

    - #### setAuthRoid

          public void setAuthRoid(java.lang.String aAuthRoid)

      Gets the authorization roid that is used to identify the registrant or contact object if and only if the value of authInfo, set by `setAuthString(String)`, is associated with the registrant or contact object. This can be used with `sendTransfer` and `sendInfo` along with setting the authInfo with the `setAuthString(String)` method.
      Parameters:
        `aAuthRoid` - Roid of registrant or contact object

    - #### getAuthString

          public java.lang.String getAuthString()

      Sets the authorization string associated with an `sendCreate` and `sendTransfer`.
      Returns:
        Authorization string if defined; `null` otherwise.

    - #### getAuthInfo

          public EPPAuthInfo getAuthInfo()

      Gets the set authorization information if defined.
      Returns:
        The authorization information if defined; `null` otherwise.

    - #### setAuthInfo

          public void setAuthInfo(EPPAuthInfo aAuthInfo)

      Sets the authorization information using the `EPPAuthInfo` object.
      Parameters:
        `aAuthInfo` - The authorization information to set.

    - #### setHosts

          public void setHosts(java.lang.String aHosts)

      Sets the desired level of host information. The default is `HOSTS_ALL`.
      Parameters:
        `aHosts` - Should be one of the `HOSTS_` constants.

    - #### getHosts

          public java.lang.String getHosts()

      Sets the desired level of host information.
      Returns:
        Should be one of the `HOSTS_` constants.

    - #### getRegistrant

          public java.lang.String getRegistrant()

      Gets the Domain Registrant Contact Identifier.
      Returns:
        Domain Registrant Contact Identifier if defined; `null` otherwise.

    - #### setRegistrant

          public void setRegistrant(java.lang.String aRegistrant)

      Sets the Domain Registrant Contact Identifier.
      Parameters:
        `aRegistrant` - Domain Registrant Contact Identifier.

    - #### sendCreate

          public EPPDomainCreateResp sendCreate()
                                         throws EPPCommandException

      Sends a Domain Name Create Command to the server.
      The required attributes have been set with the following methods:
      - `addDomainName` - Sets the domain name to create. Only one domain name is valid.
      - `setAuthString` - Sets the domain name authorization string.
      The optional attributes have been set with the following:
      - `setTransId` - Sets the client transaction identifier
      - `setPeriodLength` - Sets the registration period (default = 1)
      - `setPeriodUnit` - Sets the registration period unit (default = `PERIOD_YEAR`)
      - `setRegistrant` - Sets the Registrant for the domain. This is required for thick registries.
      - `addContact` - Add domain contact
      - `addHostName` - Add domain delegation host
      Returns:
        `EPPDomainCreateResp` containing the Domain create result.
      Throws:
        `EPPCommandException` - Error executing the create command. Use `getResponse` to get the associated server error response.

    - #### sendUpdate

          public EPPResponse sendUpdate()
                                 throws EPPCommandException

      Sends a Domain Name Update Command to the server.
      The required attributes have been set with the following methods:
      - `addDomainName` - Sets the domain name to update. Only one domain name is valid.
      The optional attributes have been set with the following:
      - `setTransId` - Sets the client transaction identifier
      - `setUpdateAttrib(int,String,int)` - Adds/removes hosts
      - `setUpdateAttrib(int,DomainStatus,int)` - Adds/removes statuses
      - `setUpdateAttrib(int,String,String,int)` - Adds/removes contacts
      - `setRegistrant` - Sets the Registrant for the domain.
      - `setAuthString` - Sets the domain name authorization string.
      At least one update attribute needs to be set.
      Returns:
        `EPPResponse` containing the Domain update result.
      Throws:
        `EPPCommandException` - Error executing the update command. Use `getResponse` to get the associated server error response.

    - #### sendTransfer

          public EPPDomainTransferResp sendTransfer()
                                             throws EPPCommandException

      Sends a Domain Name Transfer Command to the server.
      The required attributes have been set with the following methods:
      - `addDomainName` - Sets the domain name for transfer command. Only one domain name is valid.
      - `setTransferOpCode` - Sets the domain transfer operation.
      - `setAuthString` - Sets the domain name authorization string.
      The optional attributes have been set with the following:
      - `setTransId` - Sets the client transaction identifier
      - `setPeriodLength` - Sets the registration period (default = 1)
      - `setPeriodUnit` - Sets the registration period unit (default = `PERIOD_YEAR`)
      Returns:
        `EPPDomainTransferResp` containing the Domain transfer result.
      Throws:
        `EPPCommandException` - Error executing the create command. Use `getResponse` to get the associated server error response.

    - #### sendRenew

          public EPPDomainRenewResp sendRenew()
                                       throws EPPCommandException

      Sends a Domain Name Renew Command to the server.
      The required attributes have been set with the following methods:
      - `addDomainName` - Sets the domain name to renew. Only one domain name is valid.
      - `setExpirationDate` - Sets current expiration date.
      The optional attributes have been set with the following:
      - `setTransId` - Sets the client transaction identifier
      - `setPeriodLength` - Sets the registration period (default = 1)
      - `setPeriodUnit` - Sets the registration period unit (default = `PERIOD_YEAR`)
      Returns:
        `EPPDomainRenewResp` containing the Domain renew result.
      Throws:
        `EPPCommandException` - Error executing the renew command. Use `getResponse` to get the associated server error response.

    - #### sendInfo

          public EPPDomainInfoResp sendInfo()
                                     throws EPPCommandException

      Sends a Domain Name Info Command to the server.
      The required attributes have been set with the following methods:
      - `addDomainName` - Sets the domain name to get info for. Only one domain name is valid.
      The optional attributes have been set with the following:
      - `setTransId` - Sets the client transaction identifier
      - `setAuthString` - Sets the Authorization string
      - `setHosts` - Sets the desired hosts to one of the `HOSTS_` constants `HOSTS_ALL`, `HOSTS_DELEGATED`, or `HOSTS_SUBORDINATE`. `HOSTS_ALL` is the default.
      Returns:
        `EPPDomainInfoResp` containing the Domain information.
      Throws:
        `EPPCommandException` - Error executing the info command. Use `getResponse` to get the associated server error response.

    - #### sendCheck

          public EPPDomainCheckResp sendCheck()
                                       throws EPPCommandException

      Sends a Domain Name Check Command to the server.
      The required attributes have been set with the following methods:
      - `addDomainName` - Adds a domain name to check. More than one domain name can be checked in `sendCheck`
      The optional attributes have been set with the following:
      - `setTransId` - Sets the client transaction identifier
      Returns:
        `EPPDomainCheckResp` containing the Domain check information.
      Throws:
        `EPPCommandException` - Error executing the check command. Use `getResponse` to get the associated server error response.

    - #### sendDelete

          public EPPResponse sendDelete()
                                 throws EPPCommandException

      Sends a Domain Name Delete Command to the server.
      The required attributes have been set with the following methods:
      - `addDomainName` - Sets the domain name to delete. Only one domain name is valid.
      The optional attributes have been set with the following:
      - `setTransId` - Sets the client transaction identifier
      Returns:
        `EPPResponse` containing the delete result information.
      Throws:
        `EPPCommandException` - Error executing the delete command. Use `getResponse` to get the associated server error response.

    - #### resetDomain

          protected void resetDomain()

      Resets the domain instance to its initial state.

    - #### setUpdateAttrib

          public void setUpdateAttrib(int aType,
                                      java.lang.String aName,
                                      int aOp)
                               throws EPPCommandException

      Sets an update to a string list value, which currently can only be used for domain hosts. Domain hosts can only be added or removed.
      Parameters:
        `aType` - Must be set to `HOST`
        `aName` - Name of host
        `aOp` - Either `ADD` or `REMOVE`
      Throws:
        `EPPCommandException` - Invalid type or operation

    - #### setUpdateAttrib

          public void setUpdateAttrib(int aType,
                                      EPPDomainStatus aName,
                                      int aOp)
                               throws EPPCommandException

      Sets an update to a domain status. Domain statuses can be either added or removed.
      Parameters:
        `aType` - Must be set to `STATUS`
        `aName` - Name of status, which can use one of the `STATUS_` constants
        `aOp` - Either `ADD` or `REMOVE`
      Throws:
        `EPPCommandException` - Invalid type or operation

    - #### setUpdateAttrib

          public void setUpdateAttrib(int aType,
                                      java.lang.String aVal,
                                      java.lang.String aValType,
                                      int aOp)
                               throws EPPCommandException

      Sets an update to a domain contact. Domain contacts can be either added or removed.
      Parameters:
        `aType` - Must be set to `CONTACT`
        `aVal` - Contact Identifier
        `aValType` - Contact Type, which should be one of the `CONTACT_` constants.
        `aOp` - Either `ADD` or `REMOVE`
      Throws:
        `EPPCommandException` - Invalid type or operation

    - #### getResponse

          public EPPResponse getResponse()

      Gets the response associated with the last command. This method can be used to retrieve the server error response in the catch block of EPPCommandException.
      Returns:
        Response associated with the last command

    - #### getPeriodLength

          public int getPeriodLength()

      Gets the registration period.
      Returns:
        Registration period; `null` otherwise.

    - #### setPeriodLength

          public void setPeriodLength(int aPeriodLength)

      Sets the registration period.
      Parameters:
        `aPeriodLength` - Registration period

    - #### getPeriodUnit

          public java.lang.String getPeriodUnit()

      Gets the registration period unit.
      Returns:
        Registration period unit if defined; `null` otherwise.

    - #### setPeriodUnit

          public void setPeriodUnit(java.lang.String aPeriodUnit)

      Sets the registration period unit to either `PERIOD_MONTH` or `PERIOD_YEAR`.
      Parameters:
        `aPeriodUnit` - Registration period unit