Package com.verisign.epp.framework

## Interface EPPPollDataSource

- All Known Implementing Classes:
    `PollDataSource`

      public interface EPPPollDataSource

  Represents an EPPPollDataSource interface that is implemented by any class that needs to manipulate their own data source.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `delete​(java.lang.Object aRecp, java.lang.String aMsgId, java.lang.Object aContextData)` | Deletes a message from a recipients poll queue my message identifier.
    `EPPPollDataRecord` | `get​(java.lang.Object aRecp, java.lang.Object aContextData)` | Gets the next poll data record for the specified recipient.
    `void` | `put​(java.lang.Object aRecp, java.lang.String aKind, java.lang.Object aData, java.lang.Object aContextData)` | Puts a message in the poll queue associated with `aRecp`.

- - ### Method Detail

    - #### get

          EPPPollDataRecord get​(java.lang.Object aRecp,
                                java.lang.Object aContextData)
                         throws EPPPollQueueException

      Gets the next poll data record for the specified recipient. The concrete class used to specify the recipient is specific to the concrete `EPPPollData`.
      Parameters:
        `aRecp` - Recipient of the poll message. The concrete class is defined by the concrete `EPPPollDataSource`.
        `aContextData` - Server specific data that is passed through to the data source (i.e. database connection).
      Returns:
        Next poll data record. The record is not removed from the recipients queue
      Throws:
        `EPPPollQueueException` - Error getting message from queue

    - #### put

          void put​(java.lang.Object aRecp,
                   java.lang.String aKind,
                   java.lang.Object aData,
                   java.lang.Object aContextData)
            throws EPPPollQueueException

      Puts a message in the poll queue associated with `aRecp`.
      Parameters:
        `aRecp` - Recipient of the poll message. The concrete class is defined by a concrete `EPPPollDataSource`.
        `aKind` - Defines the kind of the poll message. The kinds of messages supported is based on the concrete `EPPPollDataSource`.
        `aData` - Poll message data. The concrete class is specific to the concrete `EPPPollDataSource`
        `aContextData` - Server specific data that is passed through to the data source (i.e. database connection).
      Throws:
        `EPPPollQueueException` - Error putting message in queue

    - #### delete

          int delete​(java.lang.Object aRecp,
                     java.lang.String aMsgId,
                     java.lang.Object aContextData)
              throws EPPPollQueueException

      Deletes a message from a recipients poll queue my message identifier.
      Parameters:
        `aRecp` - Recipient queue. The concrete class is defined by the concrete `EPPPollDataSource`.
        `aMsgId` - identifier to delete
        `aContextData` - Server specific data that is passed through to the data source (i.e. database connection).
      Returns:
        Number of messages left in queue
      Throws:
        `EPPPollQueueException` - Error deleting the message