Class Launcher.Builder<T>

  • Type Parameters:
    T - remote service interface type
    Enclosing interface:
    Launcher<T>

    public static class Launcher.Builder<T>
    extends java.lang.Object
    The launcher builder wires up all components for JSON-RPC communication.
    • 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
      • 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
    • Constructor Detail

      • Builder

        public Builder()
    • 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)
      • setExecutorService

        public Launcher.Builder<T> setExecutorService​(java.util.concurrent.ExecutorService executorService)
      • setClassLoader

        public Launcher.Builder<T> setClassLoader​(java.lang.ClassLoader classLoader)
      • 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.
      • getSupportedMethods

        protected java.util.Map<java.lang.String,​JsonRpcMethod> getSupportedMethods()
        Gather all JSON-RPC methods from the local and remote services.