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) { Listlisteners = 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.
-
Field Details
-
listenersMap
protected static AbstractDefaultingHashMap<java.lang.String,java.util.Set<Pair<java.lang.String,java.lang.String>>> listenersMap
-
-
Constructor Details
-
ResourceListenerFactory
public ResourceListenerFactory()
-
-
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
It returns list of registered listener for given super class and user context.- Parameters:
PlatformUserContext
- .- Returns:
- List of listener.
-