Class MEventHandler<L>

    • Constructor Detail

      • MEventHandler

        public MEventHandler()
        Create the handler in normal mode.
      • MEventHandler

        public MEventHandler​(boolean weakHandler)
        Create the handler and specify if all listeners have to be weak.
        Parameters:
        weakHandler - If true handler is in weak mode. All registered handlers are weak.
    • Method Detail

      • register

        public void register​(L listener)
        Register a listener for this kind of events. If the handler is weak the listener will registered weak. A listener can only register one time. A second registration will be ignored.
        Specified by:
        register in interface MRegistry<L>
        Parameters:
        listener - Listener for the events.
      • unregister

        public void unregister​(L listener)
        Unregister normal or weak listener from the handler.
        Specified by:
        unregister in interface MRegistry<L>
        Parameters:
        listener - Listener for the events.
      • registerWeak

        public void registerWeak​(L listener)
        Register the listener as a weak reference.
        Specified by:
        registerWeak in interface MRegistry<L>
        Parameters:
        listener - Listener for the events.
      • contains

        public boolean contains​(L listener)
        Returns true if the listener instance is already registered for this event handler.
        Parameters:
        listener - Listener for the events.
        Returns:
        true if the listener is registered as normal or weak.
      • getListenersArray

        public Object[] getListenersArray()
        Returns a array of all registered (normal or weak) listeners. The list should not be cashed - this will prevent weak listeners to be removed from the memory. The list should be used to fire events to the listeners if the listeners are able to change the event handler (register / unregister).
        Returns:
        All registered listeners
      • getListeners

        public Iterable<L> getListeners()
        Use this to iterate into the listeners and if you be sure the listeners do not try to change the event handler (register/unregister). This method will save resources if only normal or only weak listeners are registered.
        Returns:
        Iterable object for all listeners.
      • size

        public int size()
        Amount of registered listeners.
        Returns:
        the size
      • isWeakHandler

        public boolean isWeakHandler()
        Return true if the handler only store weak references (also by register()).
        Returns:
        flag
      • fire

        public void fire()
      • fire

        public void fire​(Object event,
                         Object... values)
      • fireMethod

        public void fireMethod​(Method method,
                               Object... values)
      • onFire

        public void onFire​(L listener,
                           Object event,
                           Object... values)