B
- The type of builder, for chaining.C
- The type of client generated by this builder.public abstract class SdkDefaultClientBuilder<B extends SdkClientBuilder<B,C>,C> extends Object implements SdkClientBuilder<B,C>
SdkClientBuilder
, SdkAsyncClientBuilder
and
SdkSyncClientBuilder
. This implements all methods required by those interfaces, allowing service-specific builders to
just implement the configuration they wish to add.
By implementing both the sync and async interface's methods, service-specific builders can share code between their sync and async variants without needing one to extend the other. Note: This only defines the methods in the sync and async builder interfaces. It does not implement the interfaces themselves. This is because the sync and async client builder interfaces both require a type-constrained parameter for use in fluent chaining, and a generic type parameter conflict is introduced into the class hierarchy by this interface extending the builder interfaces themselves.
Like all SdkClientBuilder
s, this class is not thread safe.
Modifier and Type | Class and Description |
---|---|
static class |
SdkDefaultClientBuilder.NonManagedSdkAsyncHttpClient
Wrapper around
SdkAsyncHttpClient to prevent it from being closed. |
static class |
SdkDefaultClientBuilder.NonManagedSdkHttpClient
Wrapper around
SdkHttpClient to prevent it from being closed. |
Modifier and Type | Method and Description |
---|---|
B |
asyncConfiguration(ClientAsyncConfiguration asyncConfiguration) |
C |
build()
Build a client using the current state of this builder.
|
B |
endpointOverride(URI endpointOverride)
Configure the endpoint with which the SDK should communicate.
|
B |
httpClient(SdkAsyncHttpClient httpClient) |
B |
httpClient(SdkHttpClient httpClient) |
B |
httpClientBuilder(SdkAsyncHttpClient.Builder httpClientBuilder) |
B |
httpClientBuilder(SdkHttpClient.Builder httpClientBuilder) |
B |
overrideConfiguration(ClientOverrideConfiguration overrideConfig)
Specify overrides to the default SDK configuration that should be used for clients created by this builder.
|
void |
setAsyncConfiguration(ClientAsyncConfiguration asyncConfiguration) |
void |
setEndpointOverride(URI endpointOverride) |
void |
setOverrideConfiguration(ClientOverrideConfiguration overrideConfiguration) |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
overrideConfiguration
applyMutation
public final C build()
buildClient()
method, that
accepts the immutable client configuration generated by this build method.build
in interface SdkBuilder<B extends SdkClientBuilder<B,C>,C>
public final B endpointOverride(URI endpointOverride)
SdkClientBuilder
endpointOverride
in interface SdkClientBuilder<B extends SdkClientBuilder<B,C>,C>
public final void setEndpointOverride(URI endpointOverride)
public final B asyncConfiguration(ClientAsyncConfiguration asyncConfiguration)
public final void setAsyncConfiguration(ClientAsyncConfiguration asyncConfiguration)
public final B overrideConfiguration(ClientOverrideConfiguration overrideConfig)
SdkClientBuilder
overrideConfiguration
in interface SdkClientBuilder<B extends SdkClientBuilder<B,C>,C>
public final void setOverrideConfiguration(ClientOverrideConfiguration overrideConfiguration)
public final B httpClient(SdkHttpClient httpClient)
public final B httpClientBuilder(SdkHttpClient.Builder httpClientBuilder)
public final B httpClient(SdkAsyncHttpClient httpClient)
public final B httpClientBuilder(SdkAsyncHttpClient.Builder httpClientBuilder)
Copyright © 2017 Amazon Web Services, Inc. All Rights Reserved.