org.springframework.context.event

## Interface ApplicationEventMulticaster

- All Known Implementing Classes:
    AbstractApplicationEventMulticaster, SimpleApplicationEventMulticaster

      public interface ApplicationEventMulticaster

  Interface to be implemented by objects that can manage a number of `ApplicationListener` objects, and publish events to them.

  An `ApplicationEventPublisher`, typically a Spring `ApplicationContext`, can use an ApplicationEventMulticaster as a delegate for actually publishing events.

  Author:
    Rod Johnson, Juergen Hoeller

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addApplicationListener(ApplicationListener listener)` Add a listener to be notified of all events.
    `void` | `addApplicationListenerBean(String listenerBeanName)` Add a listener bean to be notified of all events.
    `void` | `multicastEvent(ApplicationEvent event)` Multicast the given application event to appropriate listeners.
    `void` | `removeAllListeners()` Remove all listeners registered with this multicaster.
    `void` | `removeApplicationListener(ApplicationListener listener)` Remove a listener from the notification list.
    `void` | `removeApplicationListenerBean(String listenerBeanName)` Remove a listener bean from the notification list.

- - ### Method Detail

    - #### addApplicationListener

          void addApplicationListener(ApplicationListener listener)

      Add a listener to be notified of all events.
      Parameters:
        `listener` - the listener to add

    - #### addApplicationListenerBean

          void addApplicationListenerBean(String listenerBeanName)

      Add a listener bean to be notified of all events.
      Parameters:
        `listenerBeanName` - the name of the listener bean to add

    - #### removeApplicationListener

          void removeApplicationListener(ApplicationListener listener)

      Remove a listener from the notification list.
      Parameters:
        `listener` - the listener to remove

    - #### removeApplicationListenerBean

          void removeApplicationListenerBean(String listenerBeanName)

      Remove a listener bean from the notification list.
      Parameters:
        `listenerBeanName` - the name of the listener bean to add

    - #### removeAllListeners

          void removeAllListeners()

      Remove all listeners registered with this multicaster.

      After a remove call, the multicaster will perform no action on event notification until new listeners are being registered.

    - #### multicastEvent

          void multicastEvent(ApplicationEvent event)

      Multicast the given application event to appropriate listeners.
      Parameters:
        `event` - the event to multicast