Interface DataFilter

All Known Implementing Classes:
JSONDataFilter, NoMarkupFilter, NoScriptsFilter, RegexFilter

public interface DataFilter

A filter that can add, modify or remove fields from the message data.

  • Nested Class Summary

    Nested Classes 
    Modifier and Type Interface Description
    static class  DataFilter.AbortException
    Aborts the filtering of the message data.
  • Method Summary

    Modifier and Type Method Description
    Object filter​(ServerSession session, ServerChannel channel, Object data)
    Modifies the given message data.
  • Method Details

    • filter

      Object filter​(ServerSession session, ServerChannel channel, Object data) throws DataFilter.AbortException

      Modifies the given message data.

      Returning null or throwing DataFilter.AbortException results in the message processing being interrupted and the message itself discarded.

      If the returned object is different (as returned by the != operator) from the data parameter then it is set as the new message data via Message.Mutable.setData(Object).

      Parameters:
      session - the ServerSession that sends the data
      channel - the channel the data is being sent on
      data - the data being sent
      Returns:
      the transformed data or null if the message should be ignored
      Throws:
      DataFilter.AbortException - to abort the filtering of the data