Class MappingListenerManager<K,​V>

  • All Implemented Interfaces:
    Listenable<K>, ListenerManager<K,​V>

    public class MappingListenerManager<K,​V>
    extends Object
    implements ListenerManager<K,​V>
    Version of ListenerManager that supports mapping/wrapping of listeners
    • Method Detail

      • mapping

        public static <K,​V> ListenerManager<K,​V> mapping​(Function<K,​V> mapper)
        Returns a new container that wraps listeners using the given mapper
        Parameters:
        mapper - listener mapper/wrapper
        Returns:
        new container
      • addListener

        public void addListener​(K listener)
        Description copied from interface: Listenable
        Add the given listener. The listener will be executed in the containing instance's thread.
        Specified by:
        addListener in interface Listenable<K>
        Parameters:
        listener - listener to add
      • addListener

        public void addListener​(K listener,
                                Executor executor)
        Description copied from interface: Listenable
        Add the given listener. The listener will be executed using the given executor
        Specified by:
        addListener in interface Listenable<K>
        Parameters:
        listener - listener to add
        executor - executor to run listener in
      • removeListener

        public void removeListener​(K listener)
        Description copied from interface: Listenable
        Remove the given listener
        Specified by:
        removeListener in interface Listenable<K>
        Parameters:
        listener - listener to remove
      • size

        public int size()
        Description copied from interface: ListenerManager
        Return the number of listeners
        Specified by:
        size in interface ListenerManager<K,​V>
        Returns:
        number
      • forEach

        public void forEach​(Consumer<V> function)
        Description copied from interface: ListenerManager
        Utility - apply the given function to each listener. The function receives the listener as an argument.
        Specified by:
        forEach in interface ListenerManager<K,​V>
        Parameters:
        function - function to call for each listener