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
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected class 
    This AsynchronousListener is a wrapper for original listener, that executes wrapped listeners onEvent() in separate thread.
    protected class 
    This thread executes listener.onEvent(event) method.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ListenerService(org.exoplatform.container.ExoContainerContext ctx)
    Construct a listener service.
    ListenerService(org.exoplatform.container.ExoContainerContext ctx, org.exoplatform.container.xml.InitParams params)
    Construct a listener service.
    ListenerService(org.exoplatform.container.ExoContainerContext ctx, InitialContextInitializer initializer)
    Construct a listener service.
    ListenerService(org.exoplatform.container.ExoContainerContext ctx, InitialContextInitializer initializer, org.exoplatform.container.xml.InitParams params)
    Construct a listener service.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addListener(String eventName, ListenerBase listener)
    This method is used to register a new Listener.
    <S, D> void
    addListener(Listener<S,D> listener)
    This method is used to register a Listener to the events of the same name.
    <S, D> void
    broadcast(String name, S source, D data)
    This method is used to broadcast an event.
    <T extends Event>
    void
    broadcast(T event)
    This method is used when a developer want to implement his own event object and broadcast the event.
    void
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.picocontainer.Startable

    start
  • 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 <S, D> void addListener(Listener<S,D> 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, ListenerBase 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)
      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
    • broadcast

      public <T extends Event> void broadcast(T event)
      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
    • stop

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