com.verisign.epp.interfaces

## Class EPPRelatedDomain

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

- Direct Known Subclasses:
    NSDomain

      public class EPPRelatedDomain
      extends EPPDomain

  `EPPRelatedDomain` is the client interface specific to the Related Domain EPP Extension to support sending the info command in both the Domain Info Form and the Related Info Form via the `EPPDomain.sendInfo()` method. The form is defined by the `type` attribute using one of the two constants of `TYPE_DOMAIN` for the Domain Info Form and `TYPE_RELATED` for the Related Info Form. The default form is the Domain Info Form.
  See Also:
    `EPPResponse`, `EPPRelatedDomainExtInfData`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `DOMAIN_INFO_FORM` Use the Domain Info Form for the info command.
    `static java.lang.String` | `RELATED_INFO_FORM` Use the Related Info Form for the info command.

    - ### Fields inherited from class com.verisign.epp.interfaces.EPPDomain

      `ADD, CHANGE, CONTACT, CONTACT_ADMINISTRATIVE, CONTACT_BILLING, CONTACT_TECHNICAL, HOST, HOSTS_ALL, HOSTS_DELEGATED, HOSTS_SUBORDINATE, PERIOD_MONTH, PERIOD_YEAR, REMOVE, STATUS, STATUS_CLIENT_DELETE_PROHIBITED, STATUS_CLIENT_HOLD, STATUS_CLIENT_RENEW_PROHIBITED, STATUS_CLIENT_TRANSFER_PROHIBITED, STATUS_CLIENT_UPDATE_PROHIBITED, STATUS_INACTIVE, STATUS_OK, STATUS_PENDING_CREATE, STATUS_PENDING_DELETE, STATUS_PENDING_RENEW, STATUS_PENDING_TRANSFER, STATUS_PENDING_UPDATE, STATUS_SERVER_DELETE_PROHIBITED, STATUS_SERVER_HOLD, STATUS_SERVER_RENEW_PROHIBITED, STATUS_SERVER_TRANSFER_PROHIBITED, STATUS_SERVER_UPDATE_PROHIBITED, TRANSFER_APPROVE, TRANSFER_CANCEL, TRANSFER_QUERY, TRANSFER_REJECT, TRANSFER_REQUEST`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addRelatedDomain(EPPRelatedDomainExtDomain aRelatedDomain)` Add a related domain for a call to either `sendRelatedCreate()`, `sendRelatedRenew()`, or `sendRelatedTransfer()`.
    `void` | `addRelatedName(java.lang.String aRelatedName)` Add a related domain for a call to either `sendRelatedDelete()`, or `sendRelatedUpdate()`.
    `protected void` | `resetDomain()` Resets the domain instance to its initial state.
    `EPPDomainCreateResp` | `sendRelatedCreate()` Send the related domain create, which allows for the create of more than one domain name.
    `EPPResponse` | `sendRelatedDelete()` Send the related domain delete, which allows for the deletion of more than one domain name.
    `EPPResponse` | `sendRelatedInfo()` Send the related domain info, which which supports two different forms set with the `setInfoForm(String)` method.
    `EPPDomainRenewResp` | `sendRelatedRenew()` Send the related domain renew, which allows for the renewal of more than one domain name.
    `EPPDomainTransferResp` | `sendRelatedTransfer()` Send the related domain transfer, which allows for the transfer of more than one domain name.
    `EPPResponse` | `sendRelatedUpdate()` Send the related domain update, which allows for the update of more than one domain name.
    `void` | `setInfoForm(java.lang.String aType)` Sets the info form type.

    - ### Methods inherited from class com.verisign.epp.interfaces.EPPDomain

      `addContact, addDomainName, addExtension, addHostAttr, addHostName, getAuthInfo, getAuthRoid, getAuthString, getExpirationDate, getExtensions, getHosts, getPeriodLength, getPeriodUnit, getRegistrant, getResponse, sendCheck, sendCreate, sendDelete, sendInfo, sendRenew, sendTransfer, sendUpdate, setAuthInfo, setAuthRoid, setAuthString, setExpirationDate, setExtension, setExtensions, setHosts, setPeriodLength, setPeriodUnit, setRegistrant, setTransferOpCode, setTransId, setUpdateAttrib, setUpdateAttrib, setUpdateAttrib`

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

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

- - ### Field Detail

    - #### DOMAIN_INFO_FORM

          public static final java.lang.String DOMAIN_INFO_FORM

      Use the Domain Info Form for the info command.

    - #### RELATED_INFO_FORM

          public static final java.lang.String RELATED_INFO_FORM

      Use the Related Info Form for the info command.

  - ### Constructor Detail

    - #### EPPRelatedDomain

          public EPPRelatedDomain(EPPSession aSession)

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

  - ### Method Detail

    - #### addRelatedDomain

          public void addRelatedDomain(EPPRelatedDomainExtDomain aRelatedDomain)

      Add a related domain for a call to either `sendRelatedCreate()`, `sendRelatedRenew()`, or `sendRelatedTransfer()`.
      Parameters:
        `aRelatedDomain` - Related domain to add to the list of related domains.

    - #### addRelatedName

          public void addRelatedName(java.lang.String aRelatedName)

      Add a related domain for a call to either `sendRelatedDelete()`, or `sendRelatedUpdate()`.
      Parameters:
        `aRelatedName` - Related domain name to add to the list of related domain names.

    - #### sendRelatedInfo

          public EPPResponse sendRelatedInfo()
                                      throws EPPCommandException

      Send the related domain info, which which supports two different forms set with the `setInfoForm(String)` method. The two constants `DOMAIN_INFO_FORM` and `RELATED_INFO_FORM` are used for the form values, with the default being `DOMAIN_INFO_FORM` . The attributes of `EPPDomain` must be set based on the requirements for calling `EPPDomain.sendInfo()`.
      Returns:
        Standard `EPPDomainInfoResp` for `DOMAIN_INFO_FORM` and a standard `EPPResponse` for `RELATED_INFO_FORM` with a `EPPRelatedDomainExtInfData` extension attached.
      Throws:
        `EPPCommandException` - Error creating and sending the command.

    - #### sendRelatedCreate

          public EPPDomainCreateResp sendRelatedCreate()
                                                throws EPPCommandException

      Send the related domain create, which allows for the create of more than one domain name. At least one related domain must be set using the `addRelatedDomain(EPPRelatedDomainExtDomain)` method. The attributes of `EPPDomain` must be set based on the requirements for calling `EPPDomain.sendCreate()`.
      Returns:
        Standard `EPPDomainCreateResp` with a `EPPRelatedDomainExtCreateResp` extension attached.
      Throws:
        `EPPCommandException` - Error creating and sending the command.

    - #### sendRelatedDelete

          public EPPResponse sendRelatedDelete()
                                        throws EPPCommandException

      Send the related domain delete, which allows for the deletion of more than one domain name. At least one related domain name must be set using the `addRelatedName(String)` method. The attributes of `EPPDomain` must be set based on the requirements for calling `EPPDomain.sendDelete()`.
      Returns:
        Standard `EPPResponse` with a `EPPRelatedDomainExtDeleteResp` extension attached.
      Throws:
        `EPPCommandException` - Error creating and sending the command.

    - #### sendRelatedTransfer

          public EPPDomainTransferResp sendRelatedTransfer()
                                                    throws EPPCommandException

      Send the related domain transfer, which allows for the transfer of more than one domain name. At least one related domain must be set using the `addRelatedDomain(EPPRelatedDomainExtDomain)` method. The attributes of `EPPDomain` must be set based on the requirements for calling `EPPDomain.sendTransfer()`.
      Returns:
        Standard `EPPDomainTransferResp` with a `EPPRelatedDomainExtTransferResp` extension attached.
      Throws:
        `EPPCommandException` - Error creating and sending the command.

    - #### sendRelatedRenew

          public EPPDomainRenewResp sendRelatedRenew()
                                              throws EPPCommandException

      Send the related domain renew, which allows for the renewal of more than one domain name. At least one related domain must be set using the `addRelatedDomain(EPPRelatedDomainExtDomain)` method. The attributes of `EPPDomain` must be set based on the requirements for calling `EPPDomain.sendRenew()`.
      Returns:
        Standard `EPPDomainRenewResp` with a `EPPRelatedDomainExtRenewResp` extension attached.
      Throws:
        `EPPCommandException` - Error creating and sending the command.

    - #### sendRelatedUpdate

          public EPPResponse sendRelatedUpdate()
                                        throws EPPCommandException

      Send the related domain update, which allows for the update of more than one domain name. At least one related domain name must be set using the `addRelatedName(String)` method. The attributes of `EPPDomain` must be set based on the requirements for calling `EPPDomain.sendUpdate()`.
      Returns:
        Standard `EPPResponse`.
      Throws:
        `EPPCommandException` - Error creating and sending the command.

    - #### resetDomain

          protected void resetDomain()

      Resets the domain instance to its initial state.
      Overrides:
        `resetDomain` in class `EPPDomain`

    - #### setInfoForm

          public void setInfoForm(java.lang.String aType)

      Sets the info form type. The XML schema defines the default as `DOMAIN_INFO_FORM` if undefined.
      Parameters:
        `aType` - `DOMAIN_INFO_FORM` or `RELATED_INFO_FORM`