Package com.verisign.epp.codec.host

## Class EPPHostUpdateCmd

- java.lang.Object
- - com.verisign.epp.codec.gen.EPPCommand
  - - com.verisign.epp.codec.gen.EPPUpdateCmd
    - - com.verisign.epp.codec.host.EPPHostUpdateCmd

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

      public class EPPHostUpdateCmd
      extends EPPUpdateCmd

  Represents an EPP Host <update> command, which provides a transform operation that allows a client to modify the attributes of a host object. In addition to the standard EPP command elements, the <update> command MUST contain a <host:update> element that identifies the host namespace and the location of the host schema. The <host:update> element SHALL contain the following child elements:
  - A <host:name> element that contains the fully qualified host name of the object to be updated. Use `getName` and `setName` to get and set the element.
  - An OPTIONAL <host:add> element that contains attribute values to be added to the host object. Use `getAdd` and `setAdd` to get and set the element.
  - An OPTIONAL <host:rem> element that contains attribute values to be removed from the host object. Use `getRemove` and `setRemove` to get and set the element.
  - An OPTIONAL <host:chg> element that contains attribute values to be changed from the host object. Use `getChange` and `setChange` to get and set the element.
  Host name changes MAY require the addition or removal of IP addresses to be accepted by the server. If a new host name exists in a TLD for which the server is not authoritative, then the host object MUST NOT have any associated IP addresses. If a new host name exists in a TLD for which the server is authoritative, then the host object MAY have associated IP addresses. Host name changes MAY have an impact on associated objects that refer to the host object. A host name change SHOULD not require additional updates of associated objects to preserve existing associations.
  `EPPReponse` is the response associated with `EPPHostUpdateCmd`.
  See Also:
    `EPPResponse`, `EPPHostAddRemove`, Serialized Form

- - ### Field Summary

    - ### 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 | Description
    --- | ---
    `EPPHostUpdateCmd()` | `EPPHostUpdateCmd` default constructor.
    `EPPHostUpdateCmd​(java.lang.String aTransId, java.lang.String aName)` | `EPPHostUpdateCmd` constructor.
    `EPPHostUpdateCmd​(java.lang.String aTransId, java.lang.String aName, EPPHostAddRemove aAdd, EPPHostAddRemove aRemove, EPPHostAddRemove aChange)` | `EPPHostUpdateCmd` constructor that takes the required attributes as arguments.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `clone()` | Clone `EPPHostUpdateCmd`.
    `protected void` | `doDecode​(org.w3c.dom.Element aElement)` | Decode the `EPPHostUpdateCmd` 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 `EPPHostUpdateCmd` instance.
    `boolean` | `equals​(java.lang.Object aObject)` | Compare an instance of `EPPHostUpdateCmd` with this instance.
    `EPPHostAddRemove` | `getAdd()` | Gets the items to add to the host.
    `EPPHostAddRemove` | `getChange()` | Gets the items to change to the host.
    `java.lang.String` | `getName()` | Gets the host name to update.
    `java.lang.String` | `getNamespace()` | Gets the EPP command Namespace associated with `EPPHostUpdateCmd`.
    `EPPHostAddRemove` | `getRemove()` | Gets the items to remove from the host.
    `void` | `setAdd​(EPPHostAddRemove aAdd)` | Sets the items to add to the host.
    `void` | `setChange​(EPPHostAddRemove newChange)` | Sets the items to add to the host.
    `void` | `setName​(java.lang.String aName)` | Sets the host name to update.
    `void` | `setRemove​(EPPHostAddRemove aRemove)` | Sets the items to remove from the host.
    `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.EPPUpdateCmd

      `doGenDecode, doGenEncode, getType`

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

      `addExtension, decode, encode, findDuplicateExtNamespaces, findExtNamespaces, findExtNamespaceSuffixes, findUnsupportedExtNamespaces, findUnsupportedExtNamespaceSuffixes, getExtension, getExtension, getExtensions, getOp, getTransId, hasExtension, hasExtensions, hasTransId, setExtension, setExtensions, setTransId`

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

      `finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### EPPHostUpdateCmd

          public EPPHostUpdateCmd()

      `EPPHostUpdateCmd` default constructor. The name is initialized to `null`. The name must be set before invoking `encode`.

    - #### EPPHostUpdateCmd

          public EPPHostUpdateCmd​(java.lang.String aTransId,
                                  java.lang.String aName)

      `EPPHostUpdateCmd` constructor.
      Parameters:
        `aTransId` - Transaction Id associated with the command.
        `aName` - Host name to update.

    - #### EPPHostUpdateCmd

          public EPPHostUpdateCmd​(java.lang.String aTransId,
                                  java.lang.String aName,
                                  EPPHostAddRemove aAdd,
                                  EPPHostAddRemove aRemove,
                                  EPPHostAddRemove aChange)

      `EPPHostUpdateCmd` constructor that takes the required attributes as arguments.
      Parameters:
        `aTransId` - Transaction Id associated with the command.
        `aName` - Host name to update.
        `aAdd` - Attributes to add to the host. `null` if no additions.
        `aRemove` - Attributes to remove from the host. `null` if no removals.
        `aChange` - Attributes to change from the host. `null` if no changes.

  - ### Method Detail

    - #### getNamespace

          public java.lang.String getNamespace()

      Gets the EPP command Namespace associated with `EPPHostUpdateCmd`.
      Specified by:
        `getNamespace` in interface `EPPCodecComponent`
      Specified by:
        `getNamespace` in interface `EPPMessage`
      Specified by:
        `getNamespace` in class `EPPCommand`
      Returns:
        `EPPHostMapFactory.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 `EPPHostUpdateCmd` instance.
      Specified by:
        `doEncode` in class `EPPUpdateCmd`
      Parameters:
        `aDocument` - DOM Document that is being built. Used as an Element factory.
      Returns:
        Root DOM Element representing the `EPPHostUpdateCmd` instance.
      Throws:
        `EPPEncodeException` - Unable to encode `EPPHostUpdateCmd` instance.

    - #### doDecode

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

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

    - #### equals

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

      Compare an instance of `EPPHostUpdateCmd` with this instance.
      Overrides:
        `equals` in class `EPPUpdateCmd`
      Parameters:
        `aObject` - Object to compare with.
      Returns:
        DOCUMENT ME!

    - #### clone

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

      Clone `EPPHostUpdateCmd`.
      Specified by:
        `clone` in interface `EPPCodecComponent`
      Overrides:
        `clone` in class `EPPCommand`
      Returns:
        clone of `EPPHostUpdateCmd`
      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.

    - #### getName

          public java.lang.String getName()

      Gets the host name to update.
      Returns:
        Host Name if defined; `null` otherwise.

    - #### setName

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

      Sets the host name to update.
      Parameters:
        `aName` - Host Name

    - #### getAdd

          public EPPHostAddRemove getAdd()

      Gets the items to add to the host.
      Returns:
        Object that contains the list of elements to add to the host if defined; `null` otherwise.

    - #### setAdd

          public void setAdd​(EPPHostAddRemove aAdd)

      Sets the items to add to the host.
      Parameters:
        `aAdd` - Object that contains the list of elements to add to the host.

    - #### getRemove

          public EPPHostAddRemove getRemove()

      Gets the items to remove from the host.
      Returns:
        Object that contains the list of elements to remove from the host if defined; `null` otherwise.

    - #### setRemove

          public void setRemove​(EPPHostAddRemove aRemove)

      Sets the items to remove from the host.
      Parameters:
        `aRemove` - Object that contains the list of elements to remove from the host.

    - #### getChange

          public EPPHostAddRemove getChange()

      Gets the items to change to the host.
      Returns:
        Object that contains the list of elements to change to the host if defined; `null` otherwise.

    - #### setChange

          public void setChange​(EPPHostAddRemove newChange)

      Sets the items to add to the host.
      Parameters:
        `newChange` - Object that contains the list of elements to change to the host.