Package com.verisign.epp.codec.gen

## Interface EPPPollMessageFilter

- All Known Implementing Classes:
    `EPPUnhandledNamespacesPollMessageFilter`

      public interface EPPPollMessageFilter

  Interface used to filter poll message `EPPResponse` instances against the list of client-specified object services and extension services. Any non-supported services (object or extension) will be removed from the poll message and reflected in the `EPPResponse` by the implementing `EPPPollMessageFilter` class. The interface does support a no-operation option to simply identify and log non-supported services without removing them from the poll message.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `EPPResponse` | `filter​(EPPResponse aResponse, java.util.List<EPPService> aServices, java.util.List<EPPService> aExtServices, boolean aNoOp, java.lang.Object aData)` | Filter any poll messages that are not supported by the client based on the passed in login services (object extensions) and extension services (command response extensions) from the poll message and encode into the response the information associated with the unsupported extensions (object or command / response).
    `EPPResponse` | `filter​(EPPResponse aResponse, java.util.List<EPPService> aServices, java.util.List<EPPService> aExtServices, java.lang.Object aData)` | Filter any poll messages that are not supported by the client based on the passed in login services (object extensions) and extension services (command response extensions) from the poll message and encode into the response the information associated with the unsupported extensions (object or command / response).

- - ### Method Detail

    - #### filter

          EPPResponse filter​(EPPResponse aResponse,
                             java.util.List<EPPService> aServices,
                             java.util.List<EPPService> aExtServices,
                             java.lang.Object aData)
                      throws EPPException

      Filter any poll messages that are not supported by the client based on the passed in login services (object extensions) and extension services (command response extensions) from the poll message and encode into the response the information associated with the unsupported extensions (object or command / response).
      Parameters:
        `aResponse` - Source poll message
        `aServices` - `List` of `EPPService` login services (object extensions) supported by the client.
        `aExtServices` - `List` of `EPPService` login extension services (command response extensions) supported by the client.
        `aData` - Optional data object that will be passed through to the monitor when there is at least one unhandled namespace identified. This is useful to set transaction-level attributes based on the use of unhandled namespaces. Set to `null` if a data object is not needed.
      Returns:
        Filtered poll message `EPPResponse` that contains extensions that the client supports.
      Throws:
        `EPPException` - Exception filtering the poll message

    - #### filter

          EPPResponse filter​(EPPResponse aResponse,
                             java.util.List<EPPService> aServices,
                             java.util.List<EPPService> aExtServices,
                             boolean aNoOp,
                             java.lang.Object aData)
                      throws EPPException

      Filter any poll messages that are not supported by the client based on the passed in login services (object extensions) and extension services (command response extensions) from the poll message and encode into the response the information associated with the unsupported extensions (object or command / response).
      Parameters:
        `aResponse` - Source poll message
        `aServices` - `List` of `EPPService` login services (object extensions) supported by the client.
        `aExtServices` - `List` of `EPPService` login extension services (command response extensions) supported by the client.
        `aNoOp` - Set to `true` to only identify unsupported services by logging them and not removing them or encoding them in another way in the response.
        `aData` - Optional data object that will be passed through to the monitor when there is at least one unhandled namespace identified. This is useful to set transaction-level attributes based on the use of unhandled namespaces. Set to `null` if a data object is not needed.
      Returns:
        Filtered poll message `EPPResponse` that contains extensions that the client supports.
      Throws:
        `EPPException` - Exception filtering the poll message