com.verisign.epp.codec.domain

## Class EPPDomainTransferCmd

- java.lang.Object
- - com.verisign.epp.codec.gen.EPPCommand
  - - com.verisign.epp.codec.gen.EPPTransferCmd
    - - com.verisign.epp.codec.domain.EPPDomainTransferCmd

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

      public class EPPDomainTransferCmd
      extends EPPTransferCmd

  Represents an EPP Domain <transfer> command. The EPP <transfer> command provides a query operation that allows a client to determine real-time status of pending and completed transfer requests. In addition to the standard EPP command elements, the <transfer> command MUST contain an `op` attribute with value `query`, and a <domain:transfer> element that identifies the domain namespace and the location of the domain schema. The <domain:transfer> element SHALL contain the following child elements:
  - A <domain:name> element that contains the fully qualified domain name of the object for which a transfer request is to be created, approved, rejected, or cancelled. Use `getName` and `setName` to get and set the element.
  - An OPTIONAL <domain:period> element that contains the initial registration period of the domain object. Use `getPeriod` and `setPeriod` to get and set the element. If return `null`, period has not been specified yet.
  - An "op" attribute that identifies the transfer operation to be performed. Valid values, definitions, and authorizations for all attribute values are defined in [EPP]. Use `getOp` and `setOp` to get and set the element. One of the `EPPCommand.OP_` constants need to be specified.
  - A <domain:authInfo> element that contains authorization information associated with the domain object or authorization information associated with the domain object's registrant or associated contacts. This element is REQUIRED only when a transfer is requested, and it SHALL be ignored if used otherwise. Use `getAuthInfo` and `setAuthInfo` to get and set the element.
  Transfer of a domain object MUST implicitly transfer all host objects that are subordinate to the domain object. For example, if domain object "example.com" is transferred and host object "ns1.example.com" exists, the host object MUST be transferred as part of the "example.com" transfer process. Host objects that are subject to transfer when transferring a domain object are listed in the response to an EPP <info> command performed on the domain object.
  `EPPDomainTransferResp` is the concrete `EPPReponse` associated with `EPPDomainTransferCmd`.
  See Also:
    `EPPDomainTransferResp`, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `ELM_LOCALNAME` XML local name for `EPPDomainTransferCmd`.
    `static java.lang.String` | `ELM_NAME` XML Element Name of `EPPDomainTransferCmd` root element.

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

      `op`

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

      `extensions, OP_APPROVE, OP_CANCEL, OP_QUERY, OP_REJECT, OP_REQUEST, transId, TYPE_CHECK, TYPE_CREATE, TYPE_DELETE, TYPE_INFO, TYPE_LOGIN, TYPE_LOGOUT, TYPE_POLL, TYPE_RENEW, TYPE_TRANSFER, TYPE_UPDATE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPDomainTransferCmd()` Allocates a new `EPPDomainTransferCmd` with default attribute values.
    `EPPDomainTransferCmd(java.lang.String aTransId, java.lang.String aOp, java.lang.String aName)` `EPPDomainTransferCmd` constructor that takes the required attributes as arguments.
    `EPPDomainTransferCmd(java.lang.String aTransId, java.lang.String aOp, java.lang.String aName, EPPAuthInfo aAuthInfo, EPPDomainPeriod aPeriod)` `EPPDomainTransferCmd` constructor that takes the required attributes plus the optional attibute `aPeriod`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `clone()` Clone `EPPDomainTransferCmd`.
    `protected void` | `doDecode(org.w3c.dom.Element aElement)` Decode the `EPPDomainTransferCmd` 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 `EPPDomainTransferCmd` instance.
    `boolean` | `equals(java.lang.Object aObject)` Compare an instance of `EPPDomainTransferCmd` with this instance.
    `EPPAuthInfo` | `getAuthInfo()` Get authorization Information.
    `java.lang.String` | `getName()` Gets the domain name to query.
    `java.lang.String` | `getNamespace()` Gets the EPP command Namespace associated with `EPPDomainTransferCmd`.
    `EPPDomainPeriod` | `getPeriod()` Gets the registration period of the transfer command in years.
    `void` | `setAuthInfo(EPPAuthInfo newAuthInfo)` Set authorization information.
    `void` | `setName(java.lang.String aName)` Sets the domain name to query.
    `void` | `setPeriod(EPPDomainPeriod aPeriod)` Sets the registration period of the transfer command.
    `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.EPPTransferCmd

      `doGenDecode, doGenEncode, getOp, getType, setOp`

    - ### Methods inherited from class com.verisign.epp.codec.gen.EPPCommand

      `addExtension, decode, encode, findDuplicateExtNamespaces, getExtension, getExtension, getExtensions, getTransId, hasExtension, hasExtensions, hasTransId, setExtension, setExtensions, 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 `EPPDomainTransferCmd`.
      See Also:
        Constant Field Values

    - #### ELM_NAME

          public static final java.lang.String ELM_NAME

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

  - ### Constructor Detail

    - #### EPPDomainTransferCmd

          public EPPDomainTransferCmd()

      Allocates a new `EPPDomainTransferCmd` with default attribute values. the defaults include the following:
      - name is set to `null`
      - period is set to `null`
      - authInfo is set to to `null`
      The transaction ID, operation, name, and authInfo must be set before invoking `encode`.

    - #### EPPDomainTransferCmd

          public EPPDomainTransferCmd(java.lang.String aTransId,
                                      java.lang.String aOp,
                                      java.lang.String aName)

      `EPPDomainTransferCmd` constructor that takes the required attributes as arguments. The period attribute is set to `UNSPEC_PERIOD` and will not be included when `encode` is invoked.
      Parameters:
        `aTransId` - Transaction Id associated with the command.
        `aOp` - One of the `EPPCommand.OP_` constants associated with the transfer command.
        `aName` - Domain name to create.

    - #### EPPDomainTransferCmd

          public EPPDomainTransferCmd(java.lang.String aTransId,
                                      java.lang.String aOp,
                                      java.lang.String aName,
                                      EPPAuthInfo aAuthInfo,
                                      EPPDomainPeriod aPeriod)

      `EPPDomainTransferCmd` constructor that takes the required attributes plus the optional attibute `aPeriod`.
      Parameters:
        `aTransId` - Transaction Id associated with the command.
        `aOp` - One of the `EPPCommand.OP_` constants associated with the transfer command.
        `aName` - Domain name to create.
        `aAuthInfo` - Authorization Information for operating with the domain.
        `aPeriod` - Registration period to be added to the domain upon transfer.

  - ### Method Detail

    - #### getNamespace

          public java.lang.String getNamespace()

      Gets the EPP command Namespace associated with `EPPDomainTransferCmd`.
      Specified by:
        `getNamespace` in interface `EPPCodecComponent`
      Specified by:
        `getNamespace` in interface `EPPMessage`
      Specified by:
        `getNamespace` in class `EPPCommand`
      Returns:
        `EPPDomainMapFactory.NS`

    - #### doEncode

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

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

    - #### doDecode

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

      Decode the `EPPDomainTransferCmd` attributes from the aElement DOM Element tree.
      Specified by:
        `doDecode` in class `EPPTransferCmd`
      Parameters:
        `aElement` - Root DOM Element to decode `EPPDomainTransferCmd` from.
      Throws:
        `EPPDecodeException` - Unable to decode aElement

    - #### getName

          public java.lang.String getName()

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

    - #### setName

          public void setName(java.lang.String aName)

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

    - #### equals

          public boolean equals(java.lang.Object aObject)

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

    - #### clone

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

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

    - #### getAuthInfo

          public EPPAuthInfo getAuthInfo()

      Get authorization Information.
      Returns:
        com.verisign.epp.codec.domain.EPPAuthInfo

    - #### getPeriod

          public EPPDomainPeriod getPeriod()

      Gets the registration period of the transfer command in years.
      Returns:
        Registration Period in years if defined; `null` otherwise.

    - #### setAuthInfo

          public void setAuthInfo(EPPAuthInfo newAuthInfo)

      Set authorization information.
      Parameters:
        `newAuthInfo` - com.verisign.epp.codec.domain.EPPAuthInfo

    - #### setPeriod

          public void setPeriod(EPPDomainPeriod aPeriod)

      Sets the registration period of the transfer command.
      Parameters:
        `aPeriod` - Registration Period.