Class MessageFilter

java.lang.Object
de.otto.synapse.endpoint.MessageFilter
All Implemented Interfaces:
MessageInterceptor

public class MessageFilter
extends java.lang.Object
implements MessageInterceptor
A MessageInterceptor that is used to filter messages using some predicate.

MessageFilter will usually be chained using a InterceptorChain.

Message Filter

See Also:
EIP: Message Filter
  • Method Summary

    Modifier and Type Method Description
    TextMessage intercept​(TextMessage message)
    Intercept a message and return the same message, a modified version of the incoming message, or null, if the message should be filtered out and dropped by the AbstractMessageEndpoint
    static MessageFilter messageFilter​(java.util.function.Predicate<TextMessage> predicate)
    Creates a MessageFilter that is used to filter messages from message endpoints.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • messageFilter

      public static MessageFilter messageFilter​(java.util.function.Predicate<TextMessage> predicate)
      Creates a MessageFilter that is used to filter messages from message endpoints.

      Messages will be dropped, if predicate.test(message) is false

      Parameters:
      predicate - the predicate used to select messages
      Returns:
      MessageFilter
    • intercept

      @Nullable public final TextMessage intercept​(@Nonnull TextMessage message)
      Intercept a message and return the same message, a modified version of the incoming message, or null, if the message should be filtered out and dropped by the AbstractMessageEndpoint The intercept method of a MessageFilter returns the intercepted message, if the filter predicate returns true. Otherwise, null is returned and the message will be dropped.
      Specified by:
      intercept in interface MessageInterceptor
      Parameters:
      message - the channel-layer message with payload-type beeing a String
      Returns:
      intercepted version of the message, or null if the message should be dropped.