|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.stefaniuk.json.service.JsonServiceRegistry
public class JsonServiceRegistry
JSON service registry.
A registry class that holds all classes provided by a developer that are available to a JSON-RPC client. This is the main class that should be utilised in a user code. Multiple instances can be created or the singleton pattern could be used. The last one is probably more desirable in most use cases.
A class can be registered/unregistered by passing a class name as an argument
of register
/unregister
method. Instance of that class will be created by the service invoker object
only once, when a first call is made to any of the exposed methods or when
service mapping description is produced.
It is user's responsibility to pass incoming HTTP request to the registry
object for method to be executed. From inside of a Java servlet this can be
achieved by calling
handle
method
on the registry object itself:
registry.handle(request, response, NameOfClass.class);From a controller (using Spring Framework) this can be done by calling static method
handle
from JsonServiceUtil
class:
JsonServiceUtil.handle(registry, request, response, NameOfClass.class);
Constructor Summary | |
---|---|
JsonServiceRegistry()
Constructor |
Method Summary | |
---|---|
JsonServiceRegistry |
clearRegistry()
Removes all JSON-RPC objects from the registry. |
static JsonServiceRegistry |
getInstance()
Singleton pattern provided out of the box. |
OutputStream |
getServiceMap(Class<?> clazz,
javax.servlet.http.HttpServletResponse response)
Produces Service Mapping Description for a given JSON-RPC class. |
OutputStream |
getServiceMap(Class<?> clazz,
OutputStream os)
Produces Service Mapping Description for a given JSON-RPC class. |
OutputStream |
handle(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Class<?> clazz)
Handles HTTP request. |
OutputStream |
handle(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Object obj)
Handles HTTP request. |
OutputStream |
handle(javax.servlet.http.HttpServletRequest request,
OutputStream os,
Class<?> clazz)
Handles HTTP request. |
OutputStream |
handle(javax.servlet.http.HttpServletRequest request,
OutputStream os,
Class<?> clazz,
String method,
Object... args)
Handles HTTP request. |
OutputStream |
handle(InputStream is,
OutputStream os,
Class<?> clazz)
Handles request as an input stream. |
OutputStream |
handle(InputStream is,
OutputStream os,
Class<?> clazz,
String method,
Object... args)
Handles request as an input stream. |
boolean |
isSingleton()
Is this object a singleton? |
JsonServiceRegistry |
register(Class<?> clazz)
Registers a class to make it available to a JSON-RPC client. |
JsonServiceRegistry |
register(Object obj)
Registers class by passing its instance to make it available to a JSON-RPC client. |
JsonServiceRegistry |
setRegistry(Class<?>[] classes)
Registers an array of classes to make them available to a JSON-RPC client. |
JsonServiceRegistry |
unregister(Class<?> clazz)
Unregisters class. |
JsonServiceRegistry |
unregister(Object obj)
Unregisters class by passing its instance. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JsonServiceRegistry()
Method Detail |
---|
public static JsonServiceRegistry getInstance()
JsonServiceRegistry
singleton object.public boolean isSingleton()
public JsonServiceRegistry register(Class<?> clazz)
clazz
- Class
JsonServiceRegistry
object.public JsonServiceRegistry register(Object obj)
obj
- Instance of a class.
JsonServiceRegistry
object.public JsonServiceRegistry setRegistry(Class<?>[] classes)
classes
- Array of classes.
JsonServiceRegistry
object.public JsonServiceRegistry unregister(Class<?> clazz)
clazz
- Class
JsonServiceRegistry
object.public JsonServiceRegistry unregister(Object obj)
obj
- Instance of a class.
JsonServiceRegistry
object.public JsonServiceRegistry clearRegistry()
JsonServiceRegistry
object.public OutputStream getServiceMap(Class<?> clazz, OutputStream os)
clazz
- Classos
- Output stream
public OutputStream getServiceMap(Class<?> clazz, javax.servlet.http.HttpServletResponse response)
clazz
- Classresponse
- HTTP response
public OutputStream handle(InputStream is, OutputStream os, Class<?> clazz)
is
- Input streamos
- Output streamclazz
- Class
public OutputStream handle(InputStream is, OutputStream os, Class<?> clazz, String method, Object... args)
is
- Input streamos
- Output streamclazz
- Classmethod
- Method to call.args
- Arguments passed to the method.
public OutputStream handle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Class<?> clazz)
request
- HTTP requestresponse
- HTTP responseclazz
- Class
IOException
public OutputStream handle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object obj)
request
- HTTP requestresponse
- HTTP responseobj
- Already instantiated object
IOException
public OutputStream handle(javax.servlet.http.HttpServletRequest request, OutputStream os, Class<?> clazz)
request
- HTTP requestos
- Output streamclazz
- Class
public OutputStream handle(javax.servlet.http.HttpServletRequest request, OutputStream os, Class<?> clazz, String method, Object... args)
request
- HTTP requestos
- Output streamclazz
- Classmethod
- Method to call.args
- Arguments passed to the method.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |