Package org.eclipse.lsp4j.jsonrpc
Class Launcher.Builder<T>
- java.lang.Object
-
- org.eclipse.lsp4j.jsonrpc.Launcher.Builder<T>
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.ClassLoaderclassLoaderprotected java.util.function.Consumer<com.google.gson.GsonBuilder>configureGsonprotected java.util.function.Function<java.lang.Throwable,ResponseError>exceptionHandlerprotected java.util.concurrent.ExecutorServiceexecutorServiceprotected java.io.InputStreaminputprotected java.util.Collection<java.lang.Object>localServicesprotected MessageTracermessageTracerprotected java.util.function.Function<MessageConsumer,MessageConsumer>messageWrapperprotected java.io.OutputStreamoutputprotected java.util.Collection<java.lang.Class<? extends T>>remoteInterfacesprotected booleanvalidateMessages
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Launcher.Builder<T>configureGson(java.util.function.Consumer<com.google.gson.GsonBuilder> configureGson)Launcher<T>create()protected MessageJsonHandlercreateJsonHandler()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 ConcurrentMessageProcessorcreateMessageProcessor(MessageProducer reader, MessageConsumer messageConsumer, T remoteProxy)Create the message processor that listens to the input stream.protected TcreateProxy(RemoteEndpoint remoteEndpoint)Create the proxy for calling methods on the remote service.protected RemoteEndpointcreateRemoteEndpoint(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 MessageConsumerwrapMessageConsumer(MessageConsumer consumer)Launcher.Builder<T>wrapMessages(java.util.function.Function<MessageConsumer,MessageConsumer> wrapper)
-
-
-
Field Detail
-
localServices
protected java.util.Collection<java.lang.Object> localServices
-
remoteInterfaces
protected java.util.Collection<java.lang.Class<? extends T>> remoteInterfaces
-
input
protected java.io.InputStream input
-
output
protected java.io.OutputStream output
-
executorService
protected java.util.concurrent.ExecutorService executorService
-
messageWrapper
protected java.util.function.Function<MessageConsumer,MessageConsumer> messageWrapper
-
exceptionHandler
protected java.util.function.Function<java.lang.Throwable,ResponseError> exceptionHandler
-
validateMessages
protected boolean validateMessages
-
configureGson
protected java.util.function.Consumer<com.google.gson.GsonBuilder> configureGson
-
classLoader
protected java.lang.ClassLoader classLoader
-
messageTracer
protected MessageTracer messageTracer
-
-
Method Detail
-
setLocalService
public Launcher.Builder<T> setLocalService(java.lang.Object localService)
-
setLocalServices
public Launcher.Builder<T> setLocalServices(java.util.Collection<java.lang.Object> localServices)
-
setRemoteInterface
public Launcher.Builder<T> setRemoteInterface(java.lang.Class<? extends T> remoteInterface)
-
setRemoteInterfaces
public Launcher.Builder<T> setRemoteInterfaces(java.util.Collection<java.lang.Class<? extends T>> remoteInterfaces)
-
setInput
public Launcher.Builder<T> setInput(java.io.InputStream input)
-
setOutput
public Launcher.Builder<T> setOutput(java.io.OutputStream output)
-
setExecutorService
public Launcher.Builder<T> setExecutorService(java.util.concurrent.ExecutorService executorService)
-
setClassLoader
public Launcher.Builder<T> setClassLoader(java.lang.ClassLoader classLoader)
-
wrapMessages
public Launcher.Builder<T> wrapMessages(java.util.function.Function<MessageConsumer,MessageConsumer> wrapper)
-
setExceptionHandler
public Launcher.Builder<T> setExceptionHandler(java.util.function.Function<java.lang.Throwable,ResponseError> exceptionHandler)
-
validateMessages
public Launcher.Builder<T> validateMessages(boolean validate)
-
traceMessages
public Launcher.Builder<T> traceMessages(java.io.PrintWriter tracer)
-
configureGson
public Launcher.Builder<T> configureGson(java.util.function.Consumer<com.google.gson.GsonBuilder> configureGson)
-
createJsonHandler
protected MessageJsonHandler createJsonHandler()
Create the JSON handler for messages between the local and remote services.
-
createRemoteEndpoint
protected RemoteEndpoint createRemoteEndpoint(MessageJsonHandler jsonHandler)
Create the remote endpoint that communicates with the local services.
-
createProxy
protected T createProxy(RemoteEndpoint remoteEndpoint)
Create the proxy for calling methods on the remote service.
-
createMessageProcessor
protected ConcurrentMessageProcessor createMessageProcessor(MessageProducer reader, MessageConsumer messageConsumer, T remoteProxy)
Create the message processor that listens to the input stream.
-
createLauncher
protected Launcher<T> createLauncher(java.util.concurrent.ExecutorService execService, T remoteProxy, RemoteEndpoint remoteEndpoint, ConcurrentMessageProcessor msgProcessor)
-
wrapMessageConsumer
protected MessageConsumer wrapMessageConsumer(MessageConsumer consumer)
-
getSupportedMethods
protected java.util.Map<java.lang.String,JsonRpcMethod> getSupportedMethods()
Gather all JSON-RPC methods from the local and remote services.
-
-