Class MessageMapper<M extends Message,​N extends Message>

  • All Implemented Interfaces:
    MessageReceiver<M>

    public class MessageMapper<M extends Message,​N extends Message>
    extends SingleSender<N>
    implements MessageReceiver<M>
    A message receiver which receives a message of one type, and propagates the result of applying a function to this message, which may be of different type.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean allowPartialFunctions
      Whether a null value coming from the function means not to send anything.
      protected java.util.function.Function<? super M,​? extends N> fun
      Evident.
    • Constructor Summary

      Constructors 
      Constructor Description
      MessageMapper​(java.util.function.Function<? super M,​? extends N> fun)
      Will apply the specified total function to each received message.
      MessageMapper​(java.util.function.Function<? super M,​? extends N> fun, boolean p)
      Will apply the specified function to each received message.
      MessageMapper​(java.util.function.Function<? super M,​? extends N> fun, boolean p, MessageReceiver<N> drain)
      Will apply the specified function to each received message.
    • Field Detail

      • fun

        protected final java.util.function.Function<? super M extends Message,​? extends N extends Message> fun
        Evident.
      • allowPartialFunctions

        protected boolean allowPartialFunctions
        Whether a null value coming from the function means not to send anything. Otherwise, it is an error.
    • Constructor Detail

      • MessageMapper

        public MessageMapper​(java.util.function.Function<? super M,​? extends N> fun,
                             boolean p,
                             MessageReceiver<N> drain)
        Will apply the specified function to each received message.
        Parameters:
        p - whether partial functions returning null are allowed
      • MessageMapper

        public MessageMapper​(java.util.function.Function<? super M,​? extends N> fun,
                             boolean p)
        Will apply the specified function to each received message.
        Parameters:
        p - whether partial functions returning null are allowed
      • MessageMapper

        public MessageMapper​(java.util.function.Function<? super M,​? extends N> fun)
        Will apply the specified total function to each received message.
    • Method Detail

      • setAllowPartialFunctions

        protected void setAllowPartialFunctions​(boolean b)
        Evident
      • lift

        public static <M extends Message,​N extends Message> java.util.function.Function<MessageReceiver<N>,​MessageReceiver<M>> lift​(java.util.function.Function<M,​? extends N> f)
        Delivers a function to apply on a message receiver for type "N" to get a message receiver for type "M", when a function is given which maps the messages the other way round.