Modifier and Type | Field and Description |
---|---|
protected java.lang.ClassLoader |
classLoader |
protected java.util.function.Consumer<com.google.gson.GsonBuilder> |
configureGson |
protected java.util.function.Function<java.lang.Throwable,ResponseError> |
exceptionHandler |
protected java.util.concurrent.ExecutorService |
executorService |
protected java.io.InputStream |
input |
protected java.util.Collection<java.lang.Object> |
localServices |
protected MessageTracer |
messageTracer |
protected java.util.function.Function<MessageConsumer,MessageConsumer> |
messageWrapper |
protected java.io.OutputStream |
output |
protected java.util.Collection<java.lang.Class<? extends T>> |
remoteInterfaces |
protected boolean |
validateMessages |
Constructor and Description |
---|
Builder() |
Modifier and Type | Method and Description |
---|---|
Launcher.Builder<T> |
configureGson(java.util.function.Consumer<com.google.gson.GsonBuilder> configureGson) |
Launcher<T> |
create() |
protected MessageJsonHandler |
createJsonHandler()
Create the JSON handler for messages between the local and remote services.
|
protected Launcher<T> |
createLauncher(java.util.concurrent.ExecutorService execService,
T remoteProxy,
RemoteEndpoint remoteEndpoint,
ConcurrentMessageProcessor msgProcessor) |
protected ConcurrentMessageProcessor |
createMessageProcessor(MessageProducer reader,
MessageConsumer messageConsumer,
T remoteProxy)
Create the message processor that listens to the input stream.
|
protected T |
createProxy(RemoteEndpoint remoteEndpoint)
Create the proxy for calling methods on the remote service.
|
protected RemoteEndpoint |
createRemoteEndpoint(MessageJsonHandler jsonHandler)
Create the remote endpoint that communicates with the local services.
|
protected java.util.Map<java.lang.String,JsonRpcMethod> |
getSupportedMethods()
Gather all JSON-RPC methods from the local and remote services.
|
Launcher.Builder<T> |
setClassLoader(java.lang.ClassLoader classLoader) |
Launcher.Builder<T> |
setExceptionHandler(java.util.function.Function<java.lang.Throwable,ResponseError> exceptionHandler) |
Launcher.Builder<T> |
setExecutorService(java.util.concurrent.ExecutorService executorService) |
Launcher.Builder<T> |
setInput(java.io.InputStream input) |
Launcher.Builder<T> |
setLocalService(java.lang.Object localService) |
Launcher.Builder<T> |
setLocalServices(java.util.Collection<java.lang.Object> localServices) |
Launcher.Builder<T> |
setOutput(java.io.OutputStream output) |
Launcher.Builder<T> |
setRemoteInterface(java.lang.Class<? extends T> remoteInterface) |
Launcher.Builder<T> |
setRemoteInterfaces(java.util.Collection<java.lang.Class<? extends T>> remoteInterfaces) |
Launcher.Builder<T> |
traceMessages(java.io.PrintWriter tracer) |
Launcher.Builder<T> |
validateMessages(boolean validate) |
protected MessageConsumer |
wrapMessageConsumer(MessageConsumer consumer) |
Launcher.Builder<T> |
wrapMessages(java.util.function.Function<MessageConsumer,MessageConsumer> wrapper) |
protected java.util.Collection<java.lang.Object> localServices
protected java.util.Collection<java.lang.Class<? extends T>> remoteInterfaces
protected java.io.InputStream input
protected java.io.OutputStream output
protected java.util.concurrent.ExecutorService executorService
protected java.util.function.Function<MessageConsumer,MessageConsumer> messageWrapper
protected java.util.function.Function<java.lang.Throwable,ResponseError> exceptionHandler
protected boolean validateMessages
protected java.util.function.Consumer<com.google.gson.GsonBuilder> configureGson
protected java.lang.ClassLoader classLoader
protected MessageTracer messageTracer
public Launcher.Builder<T> setLocalService(java.lang.Object localService)
public Launcher.Builder<T> setLocalServices(java.util.Collection<java.lang.Object> localServices)
public Launcher.Builder<T> setRemoteInterface(java.lang.Class<? extends T> remoteInterface)
public Launcher.Builder<T> setRemoteInterfaces(java.util.Collection<java.lang.Class<? extends T>> remoteInterfaces)
public Launcher.Builder<T> setInput(java.io.InputStream input)
public Launcher.Builder<T> setOutput(java.io.OutputStream output)
public Launcher.Builder<T> setExecutorService(java.util.concurrent.ExecutorService executorService)
public Launcher.Builder<T> setClassLoader(java.lang.ClassLoader classLoader)
public Launcher.Builder<T> wrapMessages(java.util.function.Function<MessageConsumer,MessageConsumer> wrapper)
public Launcher.Builder<T> setExceptionHandler(java.util.function.Function<java.lang.Throwable,ResponseError> exceptionHandler)
public Launcher.Builder<T> validateMessages(boolean validate)
public Launcher.Builder<T> traceMessages(java.io.PrintWriter tracer)
public Launcher.Builder<T> configureGson(java.util.function.Consumer<com.google.gson.GsonBuilder> configureGson)
protected MessageJsonHandler createJsonHandler()
protected RemoteEndpoint createRemoteEndpoint(MessageJsonHandler jsonHandler)
protected T createProxy(RemoteEndpoint remoteEndpoint)
protected ConcurrentMessageProcessor createMessageProcessor(MessageProducer reader, MessageConsumer messageConsumer, T remoteProxy)
protected Launcher<T> createLauncher(java.util.concurrent.ExecutorService execService, T remoteProxy, RemoteEndpoint remoteEndpoint, ConcurrentMessageProcessor msgProcessor)
protected MessageConsumer wrapMessageConsumer(MessageConsumer consumer)
protected java.util.Map<java.lang.String,JsonRpcMethod> getSupportedMethods()