com.verisign.epp.codec.secdnsext.v10

## Class EPPSecDNSExtDsData

- java.lang.Object
- - com.verisign.epp.codec.secdnsext.v10.EPPSecDNSExtDsData

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

      public class EPPSecDNSExtDsData
      extends java.lang.Object
      implements EPPCodecComponent

  The EPPSecDNSExtDsData is the EPPCodecComponent that knows how to encode and decode secDNS dsData elements from/to XML and object instance.

  Title: EPP 1.0 secDNS

  Description: secDNS Extension to the EPP SDK

  Copyright: Copyright (c) 2006

  Company: VeriSign

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `ELM_MAX_SIG_LIFE` The element tag name for maxSigLife
    `static int` | `MAX_ALG` Maximum alg value
    `static int` | `MAX_DIGEST_TYPE` Maximum digestType value
    `static int` | `MAX_KEY_TAG` Maximum keyTag value
    `static int` | `MAX_MAX_SIG_LIFE` Maximum maxSigLife value
    `static int` | `MIN_ALG` Minimum alg value
    `static int` | `MIN_DIGEST_TYPE` Minimum digestType value
    `static int` | `MIN_KEY_TAG` Minimum keyTag value
    `static int` | `MIN_MAX_SIG_LIFE` Minimum maxSigLife value
    `static int` | `SHA1_DIGEST_TYPE` http://www.ietf.org/rfc/rfc4034.txt A.2.
    `static int` | `UNSPEC_ALG` Unspecified alg value
    `static int` | `UNSPEC_DIGEST_TYPE` Unspecified digestType value
    `static int` | `UNSPEC_KEY_TAG` Unspecified keyTag value
    `static int` | `UNSPEC_MAX_SIG_LIFE` Unspecified maxSigLife value

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPSecDNSExtDsData()` Create a new empty instance of EPPSecDNSExtDsData
    `EPPSecDNSExtDsData(EPPSecDNSExtDsData dsData)` Create a new instance (copy) of EPPSecDNSExtDsData
    `EPPSecDNSExtDsData(int keyTag)` Create a new instance of EPPSecDNSExtDsData with the given values.
    `EPPSecDNSExtDsData(java.lang.Integer keyTag)` Create a new instance of EPPSecDNSExtDsData with the given values.
    `EPPSecDNSExtDsData(int keyTag, int alg, int digestType, java.lang.String digest)` Create a new instance of EPPSecDNSExtDsData with the given values.
    `EPPSecDNSExtDsData(int keyTag, int alg, int digestType, java.lang.String digest, EPPSecDNSExtKeyData keyData)` Create a new instance of EPPSecDNSExtDsData with the given values.
    `EPPSecDNSExtDsData(int keyTag, int alg, int digestType, java.lang.String digest, int maxSigLife)` Create a new instance of EPPSecDNSExtDsData with the given values.
    `EPPSecDNSExtDsData(int keyTag, int alg, int digestType, java.lang.String digest, int maxSigLife, EPPSecDNSExtKeyData keyData)` Create a new instance of EPPSecDNSExtDsData with the given values.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `clone()` Clone `EPPSecDNSExtDsData`.
    `void` | `decode(org.w3c.dom.Element aElement)` Populate the data of this instance with the data stored in the given Element of the DOM tree
    `org.w3c.dom.Element` | `encode(org.w3c.dom.Document aDocument)` Append all data from this secDNS:dsData to the given DOM Document
    `boolean` | `equals(java.lang.Object aObject)` implements a deep `EPPSecDNSExtDsData` compare.
    `int` | `getAlg()` Get secDNS:alg value
    `java.lang.String` | `getDigest()` Get secDNS:digest value
    `int` | `getDigestType()` Get secDNS:digestType value
    `EPPSecDNSExtKeyData` | `getKeyData()` Get secDNS:keyData value
    `int` | `getKeyTag()` Get secDNS:keyTag value
    `int` | `getMaxSigLife()` Get secDNS:maxSigLife value
    `java.lang.String` | `getNamespace()` Returns the XML namespace associated with the `EPPCodecComponent`.
    `boolean` | `hasKeyData()` Does secDNS:dsData include optional secDNS:keyData?
    `boolean` | `hasMaxSigLife()` Does secDNS:dsData include optional secDNS:maxSigLife?
    `void` | `setAlg(int alg)` Set secDNS:alg value
    `void` | `setDigest(java.lang.String digest)` Set secDNS:digest value This method will remove all whitespace and force UPPER case in an effort to produce the canonical representation for hexBinary as defined by http://www.w3.org/TR/xmlschema-2/#hexBinary
    `void` | `setDigestType(int digestType)` Set secDNS:digestType value
    `void` | `setKeyData(EPPSecDNSExtKeyData keyData)` Set secDNS:keyData value
    `void` | `setKeyTag(int keyTag)` Set secDNS:keyTag value
    `void` | `setKeyTag(java.lang.Integer keyTag)` Set secDNS:keyTag value
    `void` | `setMaxSigLife(int maxSigLife)` Set secDNS:maxSigLife value
    `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

    - #### ELM_MAX_SIG_LIFE

          public static final java.lang.String ELM_MAX_SIG_LIFE

      The element tag name for maxSigLife
      See Also:
        Constant Field Values

    - #### UNSPEC_KEY_TAG

          public static final int UNSPEC_KEY_TAG

      Unspecified keyTag value
      See Also:
        Constant Field Values

    - #### MIN_KEY_TAG

          public static final int MIN_KEY_TAG

      Minimum keyTag value
      See Also:
        Constant Field Values

    - #### MAX_KEY_TAG

          public static final int MAX_KEY_TAG

      Maximum keyTag value
      See Also:
        Constant Field Values

    - #### UNSPEC_ALG

          public static final int UNSPEC_ALG

      Unspecified alg value
      See Also:
        Constant Field Values

    - #### MIN_ALG

          public static final int MIN_ALG

      Minimum alg value
      See Also:
        Constant Field Values

    - #### MAX_ALG

          public static final int MAX_ALG

      Maximum alg value
      See Also:
        Constant Field Values

    - #### UNSPEC_DIGEST_TYPE

          public static final int UNSPEC_DIGEST_TYPE

      Unspecified digestType value
      See Also:
        Constant Field Values

    - #### MIN_DIGEST_TYPE

          public static final int MIN_DIGEST_TYPE

      Minimum digestType value
      See Also:
        Constant Field Values

    - #### MAX_DIGEST_TYPE

          public static final int MAX_DIGEST_TYPE

      Maximum digestType value
      See Also:
        Constant Field Values

    - #### SHA1_DIGEST_TYPE

          public static final int SHA1_DIGEST_TYPE

      http://www.ietf.org/rfc/rfc4034.txt
      A.2. DNSSEC Digest Types
      A "Digest Type" field in the DS resource record types identifies the cryptographic digest algorithm used by the resource record. The following table lists the currently defined digest algorithm types.

      DNSSEC Digest Types
      VALUE | Algorithm | STATUS
      0 | Reserved | -
      1 | SHA-1 | MANDATORY
      2-255 | Unassigned | -

      See Also:
        Constant Field Values

    - #### UNSPEC_MAX_SIG_LIFE

          public static final int UNSPEC_MAX_SIG_LIFE

      Unspecified maxSigLife value
      See Also:
        Constant Field Values

    - #### MIN_MAX_SIG_LIFE

          public static final int MIN_MAX_SIG_LIFE

      Minimum maxSigLife value
      See Also:
        Constant Field Values

    - #### MAX_MAX_SIG_LIFE

          public static final int MAX_MAX_SIG_LIFE

      Maximum maxSigLife value
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EPPSecDNSExtDsData

          public EPPSecDNSExtDsData()

      Create a new empty instance of EPPSecDNSExtDsData

    - #### EPPSecDNSExtDsData

          public EPPSecDNSExtDsData(EPPSecDNSExtDsData dsData)

      Create a new instance (copy) of EPPSecDNSExtDsData
      Parameters:
        `dsData` - `EPPSecDNSExtDsData` instance

    - #### EPPSecDNSExtDsData

          public EPPSecDNSExtDsData(int keyTag,
                                    int alg,
                                    int digestType,
                                    java.lang.String digest,
                                    int maxSigLife,
                                    EPPSecDNSExtKeyData keyData)

      Create a new instance of EPPSecDNSExtDsData with the given values. This constructor includes all secDNS:dsData elements.
      Parameters:
        `keyTag` - the keyTag value to use for this instance.
        `alg` - the algorithm value to use for this instance.
        `digestType` - the digestType value to use for this instance.
        `digest` - the digest value to use for this instance.
        `maxSigLife` - the maximum signature life value to use for this instance.
        `keyData` - the keyData value to use for this instance.

    - #### EPPSecDNSExtDsData

          public EPPSecDNSExtDsData(int keyTag,
                                    int alg,
                                    int digestType,
                                    java.lang.String digest)

      Create a new instance of EPPSecDNSExtDsData with the given values. This constructor includes only the required secDNS:dsData elements.
      Parameters:
        `keyTag` - the keyTag value to use for this instance.
        `alg` - the algorithm value to use for this instance.
        `digestType` - the digestType value to use for this instance.
        `digest` - the digest value to use for this instance.

    - #### EPPSecDNSExtDsData

          public EPPSecDNSExtDsData(int keyTag,
                                    int alg,
                                    int digestType,
                                    java.lang.String digest,
                                    int maxSigLife)

      Create a new instance of EPPSecDNSExtDsData with the given values. This constructor includes the required secDNS:dsData elements plus the optional secDNS:maxSigLife element.
      Parameters:
        `keyTag` - the keyTag value to use for this instance.
        `alg` - the algorithm value to use for this instance.
        `digestType` - the digestType value to use for this instance.
        `digest` - the digest value to use for this instance.
        `maxSigLife` - the maximum signature life value to use for this instance.

    - #### EPPSecDNSExtDsData

          public EPPSecDNSExtDsData(int keyTag,
                                    int alg,
                                    int digestType,
                                    java.lang.String digest,
                                    EPPSecDNSExtKeyData keyData)

      Create a new instance of EPPSecDNSExtDsData with the given values. This constructor includes the required secDNS:dsData elements plus the optional secDNS:keyData element.
      Parameters:
        `keyTag` - the keyTag value to use for this instance.
        `alg` - the algorithm value to use for this instance.
        `digestType` - the digestType value to use for this instance.
        `digest` - the digest value to use for this instance.
        `keyData` - the keyData value to use for this instance.

    - #### EPPSecDNSExtDsData

          public EPPSecDNSExtDsData(int keyTag)

      Create a new instance of EPPSecDNSExtDsData with the given values. This convenience constructor includes only the secDNS:keyTag element required for the secDNS:update/secDNS:rem extension.
      Parameters:
        `keyTag` - an `int` value representing the secDNS:keyTag to use for this instance.

    - #### EPPSecDNSExtDsData

          public EPPSecDNSExtDsData(java.lang.Integer keyTag)

      Create a new instance of EPPSecDNSExtDsData with the given values. This convenience constructor includes only the secDNS:keyTag element required for the secDNS:update/secDNS:rem extension.
      Parameters:
        `keyTag` - an `Integer` instance representing the secDNS:keyTag to use for this instance.

  - ### Method Detail

    - #### encode

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

      Append all data from this secDNS:dsData to the given DOM Document
      Specified by:
        `encode` in interface `EPPCodecComponent`
      Parameters:
        `aDocument` - The DOM Document to append data to
      Returns:
        Encoded DOM `Element`
      Throws:
        `EPPEncodeException` - Thrown when errors occur during the encode attempt or if the instance is invalid.

    - #### decode

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

      Populate the data of this instance with the data stored in the given Element of the DOM tree
      Specified by:
        `decode` in interface `EPPCodecComponent`
      Parameters:
        `aElement` - The root element of the fragment of XML
      Throws:
        `EPPDecodeException` - Thrown if any errors occur during decoding.

    - #### equals

          public boolean equals(java.lang.Object aObject)

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

    - #### clone

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

      Clone `EPPSecDNSExtDsData`.
      Specified by:
        `clone` in interface `EPPCodecComponent`
      Overrides:
        `clone` in class `java.lang.Object`
      Returns:
        clone of `EPPSecDNSExtDsData`
      Throws:
        `java.lang.CloneNotSupportedException` - standard Object.clone exception

    - #### getKeyTag

          public int getKeyTag()

      Get secDNS:keyTag value
      Returns:
        an `int` value representing secDNS:keyTag
      See Also:
        `UNSPEC_KEY_TAG`

    - #### setKeyTag

          public void setKeyTag(int keyTag)

      Set secDNS:keyTag value
      Parameters:
        `keyTag` - an `int` value representing secDNS:keyTag

    - #### setKeyTag

          public void setKeyTag(java.lang.Integer keyTag)

      Set secDNS:keyTag value
      Parameters:
        `keyTag` - an `Integer` instance representing secDNS:keyTag

    - #### getAlg

          public int getAlg()

      Get secDNS:alg value
      Returns:
        an `int` value representing secDNS:alg
      See Also:
        `UNSPEC_ALG`

    - #### setAlg

          public void setAlg(int alg)

      Set secDNS:alg value
      Parameters:
        `alg` - an `int` value representing secDNS:alg

    - #### getDigestType

          public int getDigestType()

      Get secDNS:digestType value
      Returns:
        an `int` value representing secDNS:digestType
      See Also:
        `UNSPEC_DIGEST_TYPE`

    - #### setDigestType

          public void setDigestType(int digestType)

      Set secDNS:digestType value
      Parameters:
        `digestType` - an `int` value representing secDNS:digestType

    - #### getDigest

          public java.lang.String getDigest()

      Get secDNS:digest value
      Returns:
        the canonical representation of the hexBinary secDNS:digest
      See Also:
        `EPPSecDNSExtDsData.setDigest(String digest)`

    - #### setDigest

          public void setDigest(java.lang.String digest)

      Set secDNS:digest value This method will remove all whitespace and force UPPER case in an effort to produce the canonical representation for hexBinary as defined by http://www.w3.org/TR/xmlschema-2/#hexBinary
      Parameters:
        `digest` - an `String` value representing the hexBinary secDNS:digest
      See Also:
        `EPPUtil.removeWhitespace(String inString)`

    - #### getMaxSigLife

          public int getMaxSigLife()

      Get secDNS:maxSigLife value
      Returns:
        an `int` value representing secDNS:maxSigLife
      See Also:
        `hasMaxSigLife()`, `UNSPEC_MAX_SIG_LIFE`

    - #### setMaxSigLife

          public void setMaxSigLife(int maxSigLife)

      Set secDNS:maxSigLife value
      Parameters:
        `maxSigLife` - an `int` value representing secDNS:maxSigLife

    - #### hasMaxSigLife

          public boolean hasMaxSigLife()

      Does secDNS:dsData include optional secDNS:maxSigLife?
      Returns:
        true if secDNS:maxSigLife is specified, otherwise false
      See Also:
        `UNSPEC_MAX_SIG_LIFE`

    - #### getKeyData

          public EPPSecDNSExtKeyData getKeyData()

      Get secDNS:keyData value
      Returns:
        an `EPPSecDNSExtKeyData` representing secDNS:keyData

    - #### setKeyData

          public void setKeyData(EPPSecDNSExtKeyData keyData)

      Set secDNS:keyData value
      Parameters:
        `keyData` - an `EPPSecDNSExtKeyData` value representing secDNS:keyData

    - #### hasKeyData

          public boolean hasKeyData()

      Does secDNS:dsData include optional secDNS:keyData?
      Returns:
        true if secDNS:keyData exists (non-null), otherwise false

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