Class ListenerService

java.lang.Object
org.exoplatform.services.listener.ListenerService
All Implemented Interfaces:
org.picocontainer.Startable

public class ListenerService extends Object implements org.picocontainer.Startable
Created by The eXo Platform SAS
Listener Service is reponsible for notifying the Listener when a given event is broadcasted.
Author:
: Nhu Dinh Thuan.
eXo level API
Platform
  • Constructor Details

    • ListenerService

      public ListenerService(org.exoplatform.container.ExoContainerContext ctx)
      Construct a listener service.
    • ListenerService

      public ListenerService(org.exoplatform.container.ExoContainerContext ctx, InitialContextInitializer initializer)
      Construct a listener service.
    • ListenerService

      public ListenerService(org.exoplatform.container.ExoContainerContext ctx, org.exoplatform.container.xml.InitParams params)
      Construct a listener service.
    • ListenerService

      public ListenerService(org.exoplatform.container.ExoContainerContext ctx, InitialContextInitializer initializer, org.exoplatform.container.xml.InitParams params)
      Construct a listener service.
  • Method Details

    • addListener

      public void addListener(Listener listener)
      This method is used to register a Listener to the events of the same name. It is similar to addListener(listener.getName(), listener)
      Parameters:
      listener - the listener to notify any time an even of the same name is triggered
    • addListener

      public void addListener(String eventName, Listener listener)
      This method is used to register a new Listener. Any time an event of the given event name has been triggered, the Listener will be notified. This method will:
      1. Check if it exists a list of listeners that have been registered for the given event name, create a new list if no list exists
      2. Add the listener to the list
      Parameters:
      eventName - The name of the event to listen to
      listener - The Listener to notify any time the event with the given name is triggered
    • broadcast

      public <S, D> void broadcast(String name, S source, D data) throws Exception
      This method is used to broadcast an event. This method should: 1. Check if there is a list of listener that listen to the event name. 2. If there is a list of listener, create the event object with the given name , source and data 3. For each listener in the listener list, invoke the method onEvent(Event)
      Type Parameters:
      S - The type of the source that broacast the event
      D - The type of the data that the source object is working on
      Parameters:
      name - The name of the event
      source - The source object instance
      data - The data object instance
      Throws:
      Exception - if an exception occurs
    • broadcast

      public <T extends Event> void broadcast(T event) throws Exception
      This method is used when a developer want to implement his own event object and broadcast the event. The method should: 1. Check if there is a list of listener that listen to the event name. 2. If there is a list of the listener, ror each listener in the listener list, invoke the method onEvent(Event)
      Type Parameters:
      T - The type of the event object, the type of the event object has to be extended from the Event type
      Parameters:
      event - The event instance
      Throws:
      Exception
    • start

      public void start()
      Specified by:
      start in interface org.picocontainer.Startable
    • stop

      public void stop()
      Specified by:
      stop in interface org.picocontainer.Startable