com.verisign.epp.codec.nameWatch

## Class EPPNameWatchAddRemove

- java.lang.Object
- - com.verisign.epp.codec.nameWatch.EPPNameWatchAddRemove

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

      public class EPPNameWatchAddRemove
      extends java.lang.Object
      implements EPPCodecComponent

  Represents attributes to change with a `EPPNameWatchUpdateCmd`. In `EPPNameWatchUpdateCmd`, an instance of `EPPNameWatchAddRemove` is used to specify the attributes to change
  The NameWatch Mapping Specification describes the following attributes:
  - Zero or more <nameWatch:registrant> element that contains the identifier for the human or organizational social information (contact) object to be associated with the nameWatch object as the object registrant. This object identifier MUST be known to the server before the contact object can be associated with the nameWatch object. Use `getRegistrant` and `setRegistrant` to get and set the element.
  - Zero or more <nameWatch:rptTo> elements that contain the email address and frequency type to be associated with the nameWatch. Use `getRptTo` and `setRptTo` to get and set the element.
  - One or two <nameWatch:AuthInfo> element that contains authorization information for the nameWatch object. Use `getAuthInfo` and `setAuthInfo` to get and set the element.
  It is important to note that the maximum number of nameWatch attribute elements is subject to the number of values currently associated with the nameWatch object. `EPPNameWatchAddRemove` will delegate the validation of the cardinality of the nameWatch attributes elements to the EPP Server.
  See Also:
    `EPPNameWatchUpdateCmd`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPNameWatchAddRemove()` Default constructor for `EPPNameWatchAddRemove`.
    `EPPNameWatchAddRemove(java.lang.String aRegistrant, EPPNameWatchRptTo aRptTo, EPPAuthInfo aAuthInfo)` Constructor for `EPPNameWatchAddRemove` that includes the attributes as arguments.
    `EPPNameWatchAddRemove(java.util.Vector aStatuses)` Constructor for `EPPNameWatchAddRemove` that includes the attributes as arguments.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `clone()` Clone `EPPNameWatchAddRemove`.
    `void` | `decode(org.w3c.dom.Element aElement)` Decode the `EPPNameWatchAddRemove` attributes from the aElement DOM Element tree.
    `org.w3c.dom.Element` | `encode(org.w3c.dom.Document aDocument)` Encode a DOM Element tree from the attributes of the `EPPNameWatchAddRemove` instance.
    `boolean` | `equals(java.lang.Object aObject)` implements a deep `EPPNameWatchAddRemove` compare.
    `EPPAuthInfo` | `getAuthInfo()` Get authorization information
    `java.lang.String` | `getNamespace()` Returns the XML namespace associated with the `EPPCodecComponent`.
    `java.lang.String` | `getRegistrant()` Get registrant
    `EPPNameWatchRptTo` | `getRptTo()` Gets the rptTo
    `java.util.Vector` | `getStatuses()` Gets the statuses to add or remove.
    `void` | `setAuthInfo(EPPAuthInfo newAuthInfo)` Set authorization information
    `void` | `setRegistrant(java.lang.String newRegistrant)` Set registrant
    `void` | `setRptTo(EPPNameWatchRptTo aRptTo)` Sets the rptTo
    `void` | `setStatuses(java.util.Vector aStatuses)` Sets the statuses to add or remove.
    `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 java.lang.Object

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

- - ### Constructor Detail

    - #### EPPNameWatchAddRemove

          public EPPNameWatchAddRemove()

      Default constructor for `EPPNameWatchAddRemove`. All of the attribute default to `null` to indicate no modification.

    - #### EPPNameWatchAddRemove

          public EPPNameWatchAddRemove(java.util.Vector aStatuses)

      Constructor for `EPPNameWatchAddRemove` that includes the attributes as arguments.
      Parameters:
        `aStatuses` - `Vector` statuses

    - #### EPPNameWatchAddRemove

          public EPPNameWatchAddRemove(java.lang.String aRegistrant,
                                       EPPNameWatchRptTo aRptTo,
                                       EPPAuthInfo aAuthInfo)

      Constructor for `EPPNameWatchAddRemove` that includes the attributes as arguments.
      Parameters:
        `aRegistrant` - `String` registrant
        `aRptTo` - `EPPNameWatchRptTo` reply to
        `aAuthInfo` - `EPPAuthInfo` authorization information

  - ### Method Detail

    - #### encode

          public org.w3c.dom.Element encode(org.w3c.dom.Document aDocument)
                                     throws EPPEncodeException

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

    - #### decode

          public void decode(org.w3c.dom.Element aElement)
                      throws EPPDecodeException

      Decode the `EPPNameWatchAddRemove` attributes from the aElement DOM Element tree.
      Specified by:
        `decode` in interface `EPPCodecComponent`
      Parameters:
        `aElement` - Root DOM Element to decode `EPPNameWatchAddRemove` from.
      Throws:
        `EPPDecodeException` - Unable to decode aElement.

    - #### equals

          public boolean equals(java.lang.Object aObject)

      implements a deep `EPPNameWatchAddRemove` compare.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `aObject` - `EPPNameWatchAddRemove` instance to compare with
      Returns:
        DOCUMENT ME!

    - #### clone

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

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

    - #### getAuthInfo

          public EPPAuthInfo getAuthInfo()

      Get authorization information
      Returns:
        Instance of `EPPAuthInfo` if defined; `null` otherwise.

    - #### getRegistrant

          public java.lang.String getRegistrant()

      Get registrant
      Returns:
        registrant if defined; `null` otherwise.

    - #### getRptTo

          public EPPNameWatchRptTo getRptTo()

      Gets the rptTo
      Returns:
        Instance of `EPPNameWatchRptTo` if defined; `null` otherwise.

    - #### getStatuses

          public java.util.Vector getStatuses()

      Gets the statuses to add or remove. The `EPPNameWatchStatus.STATUS_` constants can be used for the statuses.
      Returns:
        Vector of status `String` instances.

    - #### setStatuses

          public void setStatuses(java.util.Vector aStatuses)

      Sets the statuses to add or remove. The `EPPNameWatchStatus.STATUS_` constants can be used for the statuses.
      Parameters:
        `aStatuses` - Vector of status `String` instances.

    - #### setRptTo

          public void setRptTo(EPPNameWatchRptTo aRptTo)

      Sets the rptTo
      Parameters:
        `aRptTo` - EPPNameWatchRptTo

    - #### setAuthInfo

          public void setAuthInfo(EPPAuthInfo newAuthInfo)

      Set authorization information
      Parameters:
        `newAuthInfo` - EPPAuthInfo

    - #### setRegistrant

          public void setRegistrant(java.lang.String newRegistrant)

      Set registrant
      Parameters:
        `newRegistrant` - registrant

    - #### getNamespace

          public java.lang.String getNamespace()

      Returns the XML namespace associated with the `EPPCodecComponent`.
      Specified by:
        `getNamespace` in interface `EPPCodecComponent`
      Returns:
        XML namespace for the `EPPCodecComponent`.