com.verisign.epp.codec.signedMark

## Class SMDRevocationList

- java.lang.Object
- - com.verisign.epp.codec.signedMark.SMDRevocationList

-     public class SMDRevocationList
      extends java.lang.Object

  Class that holds the attributes for a Signed Mark Data (SMD) Revocation List and provides the following:
  1. Encode the SMD Revocation List to a `String`, that can be written to a file.
  2. Decode the SMD Revocation List from a `String` or an `InputStream`.
  3. Check if a specific `EPPSignedMark` is revoked.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DEFAULT_VERSION` Default value of the `version` attribute.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SMDRevocationList()` Default constructor.
    `SMDRevocationList(java.util.Date aCreatedDate)` Constructor that takes the requirement attribute value.
    `SMDRevocationList(java.util.Date aCreatedDate, java.util.List<RevokedSMD> aRevokedSMDs)` Constructor that takes the requirement created date attribute value and the optional list of revoked SMD's.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addRevokedSMD(RevokedSMD aRevokedSMD)` Adds a revoked SMD to the list of revoked SMD's.
    `java.lang.Object` | `clone()` Clone `SMDRevocationList`.
    `void` | `decode(java.io.InputStream aSMDRevocationListStream)` Decodes the SMD Revocation List from an `InputStream`.
    `void` | `decode(java.lang.String aSMDRevocationListStr)` Decodes the SMD Revocation List from a `String`.
    `java.lang.String` | `encode()` Encodes the SMD Revocation List to a `String`.
    `boolean` | `equals(java.lang.Object aObject)` implements a deep `SMDRevocationList` compare.
    `java.util.Date` | `getCreatedDate()` Gets the datetime in UTC that the SMD Revocation List was created.
    `java.util.List<RevokedSMD>` | `getRevokedSMDs()` Gets the list of revoked SMD's.
    `int` | `getVersion()` Gets the version of the SMD Revocation List format.
    `boolean` | `isRevoked(EPPSignedMark aSignedMark)` Is the passed signed mark revoked?
    `void` | `setCreatedDate(java.util.Date aCreatedDate)` Sets the datetime in UTC that the SMD Revocation List was created.
    `void` | `setRevokedSMDs(java.util.List<RevokedSMD> aRevokedSMDs)` Sets the list of revoked SMD's.
    `void` | `setVersion(int aVersion)` Sets the version of the SMD Revocation List format.
    `java.lang.String` | `toString()` Implementation of `Object.toString`, which will result in the full SMD revocation list being converted to a `String`.

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

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

- - ### Field Detail

    - #### DEFAULT_VERSION

          public static final int DEFAULT_VERSION

      Default value of the `version` attribute.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### SMDRevocationList

          public SMDRevocationList()

      Default constructor. The createdDate must be set prior to calling the `encode()` method.

    - #### SMDRevocationList

          public SMDRevocationList(java.util.Date aCreatedDate)

      Constructor that takes the requirement attribute value. The version defaults to the `DEFAULT_VERSION` value, and the removed SMD list defaults to an empty list.
      Parameters:
        `aCreatedDate` - Datetime in UTC that the SMD Revocation List was created.

    - #### SMDRevocationList

          public SMDRevocationList(java.util.Date aCreatedDate,
                                   java.util.List<RevokedSMD> aRevokedSMDs)

      Constructor that takes the requirement created date attribute value and the optional list of revoked SMD's. The version defaults to the `DEFAULT_VERSION` value.
      Parameters:
        `aCreatedDate` - Datetime in UTC that the SMD Revocation List was created.
        `aRevokedSMDs` - List of revoked SMD's

  - ### Method Detail

    - #### getVersion

          public int getVersion()

      Gets the version of the SMD Revocation List format.
      Returns:
        Version of the SMD Revocation List format with the default of `DEFAULT_VERSION`.

    - #### setVersion

          public void setVersion(int aVersion)

      Sets the version of the SMD Revocation List format.
      Parameters:
        `aVersion` - Version of the SMD Revocation List format

    - #### getCreatedDate

          public java.util.Date getCreatedDate()

      Gets the datetime in UTC that the SMD Revocation List was created.
      Returns:
        Datetime in UTC that the SMD Revocation List was created.

    - #### setCreatedDate

          public void setCreatedDate(java.util.Date aCreatedDate)

      Sets the datetime in UTC that the SMD Revocation List was created.
      Parameters:
        `aCreatedDate` - Datetime in UTC that the SMD Revocation List was created.

    - #### getRevokedSMDs

          public java.util.List<RevokedSMD> getRevokedSMDs()

      Gets the list of revoked SMD's.
      Returns:
        List of revoked SMD's

    - #### setRevokedSMDs

          public void setRevokedSMDs(java.util.List<RevokedSMD> aRevokedSMDs)

      Sets the list of revoked SMD's.
      Parameters:
        `aRevokedSMDs` - List of revoked SMD's

    - #### addRevokedSMD

          public void addRevokedSMD(RevokedSMD aRevokedSMD)

      Adds a revoked SMD to the list of revoked SMD's.
      Parameters:
        `aRevokedSMD` - Revoked SMD to add to the list of revoked SMD's

    - #### isRevoked

          public boolean isRevoked(EPPSignedMark aSignedMark)

      Is the passed signed mark revoked?
      Parameters:
        `aSignedMark` - Signed mark to check if revoked.
      Returns:
        `true` if the signed mark is revoked; `false` otherwise.

    - #### encode

          public java.lang.String encode()
                                  throws EPPEncodeException

      Encodes the SMD Revocation List to a `String`.
      Returns:
        Encoded revoked SMD Revocation List
      Throws:
        `EPPEncodeException` - Error encoding the SMD Revocation List.

    - #### decode

          public void decode(java.lang.String aSMDRevocationListStr)
                      throws EPPDecodeException

      Decodes the SMD Revocation List from a `String`.
      Parameters:
        `aSMDRevocationListStr` - String containing the full SMD Revocation List.
      Throws:
        `EPPDecodeException` - Error decoding the SMD Revocation List

    - #### decode

          public void decode(java.io.InputStream aSMDRevocationListStream)
                      throws EPPDecodeException

      Decodes the SMD Revocation List from an `InputStream`.
      Parameters:
        `aSMDRevocationListStream` - `InputStream` containing the full SMD Revocation List.
      Throws:
        `EPPDecodeException` - Error decoding the SMD Revocation List

    - #### clone

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

      Clone `SMDRevocationList`.
      Overrides:
        `clone` in class `java.lang.Object`
      Returns:
        clone of `SMDRevocationList`
      Throws:
        `java.lang.CloneNotSupportedException` - standard Object.clone exception

    - #### equals

          public boolean equals(java.lang.Object aObject)

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

    - #### toString

          public java.lang.String toString()

      Implementation of `Object.toString`, which will result in the full SMD revocation list being converted to a `String`. If there is an error encoding the Revocation List, a `RuntimeException` is thrown.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        Encoded SMD Revocation List