public class JsonServiceRegistry extends Object
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 and Description |
|---|
JsonServiceRegistry()
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
public static JsonServiceRegistry getInstance()
JsonServiceRegistry singleton object.public boolean isSingleton()
public JsonServiceRegistry register(Class<?> clazz)
clazz - ClassJsonServiceRegistry 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 - ClassJsonServiceRegistry 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 streampublic OutputStream getServiceMap(Class<?> clazz, javax.servlet.http.HttpServletResponse response)
clazz - Classresponse - HTTP responsepublic OutputStream handle(InputStream is, OutputStream os, Class<?> clazz)
is - Input streamos - Output streamclazz - Classpublic 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 - Classpublic OutputStream handle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object obj)
request - HTTP requestresponse - HTTP responseobj - Already instantiated objectpublic OutputStream handle(javax.servlet.http.HttpServletRequest request, OutputStream os, Class<?> clazz)
request - HTTP requestos - Output streamclazz - Classpublic 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.Copyright © 2016. All rights reserved.