Package com.verisign.epp.codec.gen

## Class EPPStatement

- java.lang.Object
- - com.verisign.epp.codec.gen.EPPStatement

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

      public class EPPStatement
      extends java.lang.Object
      implements EPPCodecComponent

  Describe data collection purposes, data recipients, and data retention. Each <statement> element MUST contain a <purpose> element, a <recipient> element, and a <retention> element
  Use methods `getPurpose` and `setPurpose` to get and set the purpose element(s), Use `getRecipient` and `setRecipient` to get and set the recipient element. Use methods `getRetention>` and `setRetention` to get and set the retention element.
  See Also:
    `EPPDcp`, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static short` | `RETENTION_BUSINESS` | Constant used with the Retention attribute that means data persists per business practices.
    `static short` | `RETENTION_INDEFINITE` | Constant used with the Retention attribute that means data persists indefinitely.
    `static short` | `RETENTION_LEGAL` | Constant used with the Retention attribute that means data persists per legal requirements.
    `static short` | `RETENTION_NONE` | Constant used with the Retention attribute that means Data is not persistent, and is not retained for more than a brief period of time necessary to make use of it during the course of a single online interaction
    `static short` | `RETENTION_STATED` | Constant used with the Retention attribute that means Data persists to meet the stated purpose

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EPPStatement()` | Default constructor.
    `EPPStatement​(EPPRecipient aRecipient, EPPPurpose aPurpose, short aRetention)` | Allocates a new `EPPStatement` and sets all of the required attributes to the arguments values.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `clone()` | Clone `EPPStatement`.
    `void` | `decode​(org.w3c.dom.Element aElement)` | decode `EPPStatement` from a DOM element tree.
    `org.w3c.dom.Element` | `encode​(org.w3c.dom.Document aDocument)` | encode `EPPStatement` into a DOM element tree.
    `boolean` | `equals​(java.lang.Object aObject)` | implements a `EPPStatment` compare.
    `java.lang.String` | `getNamespace()` | Returns the XML namespace associated with the `EPPCodecComponent`.
    `EPPPurpose` | `getPurpose()` |
    `EPPRecipient` | `getRecipient()` |
    `short` | `getRetention()` |
    `void` | `setPurpose​(EPPPurpose apurpouse)` |
    `void` | `setRecipient​(EPPRecipient aRecipient)` |
    `void` | `setRetention​(short aRetention)` |
    `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`

- - ### Field Detail

    - #### RETENTION_BUSINESS

          public static final short RETENTION_BUSINESS

      Constant used with the Retention attribute that means data persists per business practices.
      See Also:
        Constant Field Values

    - #### RETENTION_INDEFINITE

          public static final short RETENTION_INDEFINITE

      Constant used with the Retention attribute that means data persists indefinitely.
      See Also:
        Constant Field Values

    - #### RETENTION_LEGAL

          public static final short RETENTION_LEGAL

      Constant used with the Retention attribute that means data persists per legal requirements.
      See Also:
        Constant Field Values

    - #### RETENTION_NONE

          public static final short RETENTION_NONE

      Constant used with the Retention attribute that means Data is not persistent, and is not retained for more than a brief period of time necessary to make use of it during the course of a single online interaction
      See Also:
        Constant Field Values

    - #### RETENTION_STATED

          public static final short RETENTION_STATED

      Constant used with the Retention attribute that means Data persists to meet the stated purpose
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EPPStatement

          public EPPStatement()

      Default constructor.

    - #### EPPStatement

          public EPPStatement​(EPPRecipient aRecipient,
                              EPPPurpose aPurpose,
                              short aRetention)

      Allocates a new `EPPStatement` and sets all of the required attributes to the arguments values.
      Parameters:
        `aRecipient` - Describes the recipients of collected data
        `aPurpose` - Describe the purposes for which data is collected
        `aRetention` - Describes data retention practices using one of the `RETENTION_` constants.

  - ### Method Detail

    - #### getRecipient

          public EPPRecipient getRecipient()

    - #### setRecipient

          public void setRecipient​(EPPRecipient aRecipient)

    - #### getPurpose

          public EPPPurpose getPurpose()

    - #### setPurpose

          public void setPurpose​(EPPPurpose apurpouse)

    - #### getRetention

          public short getRetention()

    - #### setRetention

          public void setRetention​(short aRetention)

    - #### encode

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

      encode `EPPStatement` into a DOM element tree. The "statment" element is created and the attribute nodes are appended as children.
      Specified by:
        `encode` in interface `EPPCodecComponent`
      Parameters:
        `aDocument` - DOM Document being built
      Returns:
        statement root element tree.
      Throws:
        `EPPEncodeException` - Error encoding the DOM element tree.

    - #### decode

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

      decode `EPPStatement` from a DOM element tree. The `aElement` argument needs to be the <statement> element
      Specified by:
        `decode` in interface `EPPCodecComponent`
      Parameters:
        `aElement` - root element tree.
      Throws:
        `EPPDecodeException` - Error decoding the DOM element tree.

    - #### equals

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

      implements a `EPPStatment` compare.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `aObject` - `EPPStatement` instance to compare with
      Returns:
        `true` if equal; `false` otherwise

    - #### clone

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

      Clone `EPPStatement`.
      Specified by:
        `clone` in interface `EPPCodecComponent`
      Overrides:
        `clone` in class `java.lang.Object`
      Returns:
        clone of `EPPStatement`
      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.

    - #### 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`.