Class DefaultClient

  • All Implemented Interfaces:
    Client

    public class DefaultClient
    extends java.lang.Object
    implements Client
    • Field Detail

      • API_KEY_PROP_NAME

        public static final java.lang.String API_KEY_PROP_NAME
        See Also:
        Constant Field Values
      • API_SECRET_PROP_NAME

        public static final java.lang.String API_SECRET_PROP_NAME
        See Also:
        Constant Field Values
      • API_TIMEOUT_PROP_NAME

        public static final java.lang.String API_TIMEOUT_PROP_NAME
        See Also:
        Constant Field Values
      • API_CONNECT_TIMEOUT_PROP_NAME

        public static final java.lang.String API_CONNECT_TIMEOUT_PROP_NAME
        See Also:
        Constant Field Values
      • API_READ_TIMEOUT_PROP_NAME

        public static final java.lang.String API_READ_TIMEOUT_PROP_NAME
        See Also:
        Constant Field Values
      • API_WRITE_TIMEOUT_PROP_NAME

        public static final java.lang.String API_WRITE_TIMEOUT_PROP_NAME
        See Also:
        Constant Field Values
      • API_URL_PROP_NAME

        public static final java.lang.String API_URL_PROP_NAME
        See Also:
        Constant Field Values
      • X_STREAM_EXT_PROP_NAME

        public static final java.lang.String X_STREAM_EXT_PROP_NAME
        See Also:
        Constant Field Values
      • CONNECTION_POOL_MAX_IDLE_CONNECTIONS_PROP_NAME

        public static final java.lang.String CONNECTION_POOL_MAX_IDLE_CONNECTIONS_PROP_NAME
        See Also:
        Constant Field Values
      • CONNECTION_POOL_KEEP_ALIVE_DURATION_PROP_NAME

        public static final java.lang.String CONNECTION_POOL_KEEP_ALIVE_DURATION_PROP_NAME
        See Also:
        Constant Field Values
      • DISPATCHER_MAX_REQUESTS_PROP_NAME

        public static final java.lang.String DISPATCHER_MAX_REQUESTS_PROP_NAME
        See Also:
        Constant Field Values
      • DISPATCHER_MAX_REQUESTS_PER_HOST_PROP_NAME

        public static final java.lang.String DISPATCHER_MAX_REQUESTS_PER_HOST_PROP_NAME
        See Also:
        Constant Field Values
    • Constructor Detail

      • DefaultClient

        public DefaultClient()
      • DefaultClient

        public DefaultClient​(java.util.Properties properties)
      • DefaultClient

        public DefaultClient​(@NotNull
                             @NotNull java.util.Properties properties,
                             @NotNull
                             @NotNull DefaultClient.HttpClientOptions httpClientOptions,
                             @NotNull
                             @NotNull java.util.function.Function<retrofit2.Retrofit,​UserServiceFactory> serviceFactoryBuilder)
      • DefaultClient

        public DefaultClient​(@NotNull
                             @NotNull java.util.Properties properties,
                             @NotNull
                             @NotNull java.util.function.Function<retrofit2.Retrofit,​UserServiceFactory> serviceFactoryBuilder)
    • Method Detail

      • setInstance

        public static void setInstance​(@NotNull
                                       @NotNull DefaultClient instance)
      • create

        @NotNull
        public <TService> TService create​(java.lang.Class<TService> svcClass)
        Specified by:
        create in interface Client
      • create

        @NotNull
        public <TService> TService create​(java.lang.Class<TService> svcClass,
                                          java.lang.String userToken)
        Specified by:
        create in interface Client
      • getApiSecret

        @NotNull
        public @NotNull java.lang.String getApiSecret()
        Specified by:
        getApiSecret in interface Client
      • getApiKey

        @NotNull
        public @NotNull java.lang.String getApiKey()
        Specified by:
        getApiKey in interface Client
      • setTimeout

        public void setTimeout​(@NotNull
                               @NotNull java.time.Duration timeoutDuration)
        Specified by:
        setTimeout in interface Client
      • setConnectionPool

        public void setConnectionPool​(int maxIdleConnections,
                                      @NotNull
                                      @NotNull java.time.Duration keepAliveDuration)
      • setDispatcher

        public void setDispatcher​(int maxRequests,
                                  int maxRequestsPerHost)
      • setTimeouts

        public void setTimeouts​(@NotNull
                                @NotNull java.time.Duration connectTimeout,
                                @NotNull
                                @NotNull java.time.Duration readTimeout,
                                @NotNull
                                @NotNull java.time.Duration writeTimeout,
                                @NotNull
                                @NotNull java.time.Duration callTimeout)