Class ResourceListenerFactory

java.lang.Object
com.onenetwork.platform.integ.rest.ResourceListenerFactory

public class ResourceListenerFactory
extends java.lang.Object

This class is used by a module to help make a REST Resource more extensible through the use of a listener pattern. Example usage:

In MODA:

 @Path("/my-resource")
 public class MODARestResource extends BaseResource {
   
   @POST
   @Path("/update")
   public JSONObject update(@FormParam("sysId") Long sysId) {
     List listeners = ResourceListenerFactory.get(MODARestResourceListener.class);
     for(MODARestResourceListener listener : listeners) {
       listener.preUpdate(sysId);
     }
     
     ...
     
     for(MODARestResourceListener listener : listeners) {
       listener.postUpdate(sysId);
     }
   }
   
 }
 
 public abstract class MODARestResourceListener {
   
   public void preUpdate(Long sysId) { }
   public void postUpdate(Long sysId) { }
   
 }
 

In MODB (which depends on MODA):

 @ResourceListener("com.onenetwork.moda.rest.MODARestResourceListener")
 public class MODBRestResourceListener extends MODARestResourceListener {
   
   public void preUpdate(Long sysId) {
     ...
   }
   
   public void postUpdate(Long sysId) {
     ...
   }
   
 }
 

  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected static AbstractDefaultingHashMap<java.lang.String,​java.util.Set<Pair<java.lang.String,​java.lang.String>>> listenersMap  
  • Constructor Summary

    Constructors 
    Constructor Description
    ResourceListenerFactory()  
  • Method Summary

    Modifier and Type Method Description
    static <A> java.util.List<A> get​(java.lang.Class<A> clsA)
    It returns list of registered listener for given super class.
    static <A> java.util.List<A> get​(java.lang.Class<A> clsA, PlatformUserContext context)
    It returns list of registered listener for given super class and user context.
    static void register​(java.lang.String superClassName, java.lang.String className)
    This method is used to register resource listener based on superClassName.
    static void register​(java.lang.String superClassName, java.lang.String className, java.lang.String eptName)
    This method is used to register listener based on superClassName and Ept name.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • register

      public static void register​(java.lang.String superClassName, java.lang.String className)
      This method is used to register resource listener based on superClassName.
    • register

      public static void register​(java.lang.String superClassName, java.lang.String className, java.lang.String eptName)
      This method is used to register listener based on superClassName and Ept name.
      Parameters:
      Ept - Name.
    • get

      public static <A> java.util.List<A> get​(java.lang.Class<A> clsA)
      It returns list of registered listener for given super class.
      Returns:
      List of listener.
    • get

      public static <A> java.util.List<A> get​(java.lang.Class<A> clsA, PlatformUserContext context)
      It returns list of registered listener for given super class and user context.
      Parameters:
      PlatformUserContext - .
      Returns:
      List of listener.