Class AwsServiceClientImpl
- java.lang.Object
-
- com.mongodb.stitch.android.services.aws.internal.AwsServiceClientImpl
-
- All Implemented Interfaces:
AwsServiceClient
public final class AwsServiceClientImpl extends Object implements AwsServiceClient
-
-
Field Summary
-
Fields inherited from interface com.mongodb.stitch.android.services.aws.AwsServiceClient
factory
-
-
Constructor Summary
Constructors Constructor Description AwsServiceClientImpl(CoreAwsServiceClient client, TaskDispatcher dispatcher)
-
Method Summary
Modifier and Type Method Description Task<Void>
execute(AwsRequest request)
Executes the AWS request.<ResultT> Task<ResultT>
execute(AwsRequest request, Class<ResultT> resultClass)
Executes the AWS request, and decodes the result into an instance of the specified type.<ResultT> Task<ResultT>
execute(AwsRequest request, Class<ResultT> resultClass, CodecRegistry codecRegistry)
Executes the AWS request, and decodes the result into an instance of the specified type.Task<Void>
execute(AwsRequest request, Long requestTimeout)
Executes the AWS request.<ResultT> Task<ResultT>
execute(AwsRequest request, Long requestTimeout, Class<ResultT> resultClass)
Executes the AWS request, and decodes the result into an instance of the specified type.<ResultT> Task<ResultT>
execute(AwsRequest request, Long requestTimeout, Class<ResultT> resultClass, CodecRegistry codecRegistry)
Executes the AWS request, and decodes the result into an instance of the specified type.<ResultT> Task<ResultT>
execute(AwsRequest request, Long requestTimeout, Decoder<ResultT> resultDecoder)
Executes the AWS request, and decodes the result into an instance of the specified type.<ResultT> Task<ResultT>
execute(AwsRequest request, Decoder<ResultT> resultDecoder)
Executes the AWS request, and decodes the result into an instance of the specified type.CodecRegistry
getCodecRegistry()
Get the codec registry that will be used to decode responses when a codec registry.AwsServiceClient
withCodecRegistry(CodecRegistry codecRegistry)
Create a new AwsServiceClient instance with a different codec registry.
-
-
-
Constructor Detail
-
AwsServiceClientImpl
public AwsServiceClientImpl(CoreAwsServiceClient client, TaskDispatcher dispatcher)
-
-
Method Detail
-
execute
public Task<Void> execute(@Nonnull AwsRequest request)
Executes the AWS request.- Specified by:
execute
in interfaceAwsServiceClient
- Parameters:
request
- the AWS request to execute.- Returns:
- a task that completes when the request completes.
-
execute
public <ResultT> Task<ResultT> execute(@Nonnull AwsRequest request, @Nonnull Decoder<ResultT> resultDecoder)
Executes the AWS request, and decodes the result into an instance of the specified type. The response will be decoded using the codec registry specified when the app client was configured. If no codec registry was configured, a default codec registry will be used. The default codec registry supports the mappings specified here- Specified by:
execute
in interfaceAwsServiceClient
- Type Parameters:
ResultT
- the type into which the response will be decoded.- Parameters:
request
- the AWS request to execute.resultDecoder
- theDecoder
to use to decode the result into a value.- Returns:
- a task containing the decoded result value.
-
execute
public <ResultT> Task<ResultT> execute(@Nonnull AwsRequest request, @Nonnull Class<ResultT> resultClass)
Executes the AWS request, and decodes the result into an instance of the specified type. The response will be decoded using the codec registry specified when the app client was configured. If no codec registry was configured, a default codec registry will be used. The default codec registry supports the mappings specified here- Specified by:
execute
in interfaceAwsServiceClient
- Type Parameters:
ResultT
- the type into which the response will be decoded.- Parameters:
request
- the AWS request to execute.resultClass
- the class that the result should be decoded as.- Returns:
- a task containing the decoded result value.
-
execute
public <ResultT> Task<ResultT> execute(@Nonnull AwsRequest request, @Nonnull Class<ResultT> resultClass, @Nonnull CodecRegistry codecRegistry)
Executes the AWS request, and decodes the result into an instance of the specified type. The response will be decoded using the codec registry given.- Specified by:
execute
in interfaceAwsServiceClient
- Type Parameters:
ResultT
- the type into which the response will be decoded.- Parameters:
request
- the AWS request to execute.resultClass
- the class that the result should be decoded as.codecRegistry
- the codec registry used for de/serialization of the function call.- Returns:
- a task containing the decoded result value.
-
execute
public Task<Void> execute(@Nonnull AwsRequest request, @Nonnull Long requestTimeout)
Executes the AWS request.- Specified by:
execute
in interfaceAwsServiceClient
- Parameters:
request
- the AWS request to execute.requestTimeout
- the number of milliseconds the client should wait for a response from the server before failing with an error.- Returns:
- a task that completes when the request completes.
-
execute
public <ResultT> Task<ResultT> execute(@Nonnull AwsRequest request, @Nonnull Long requestTimeout, @Nonnull Decoder<ResultT> resultDecoder)
Executes the AWS request, and decodes the result into an instance of the specified type. The response will be decoded using the codec registry specified when the app client was configured. If no codec registry was configured, a default codec registry will be used. The default codec registry supports the mappings specified here- Specified by:
execute
in interfaceAwsServiceClient
- Type Parameters:
ResultT
- the type into which the response will be decoded.- Parameters:
request
- the AWS request to execute.requestTimeout
- the number of milliseconds the client should wait for a response from the server before failing with an error.resultDecoder
- theDecoder
to use to decode the result into a value.- Returns:
- a task containing the decoded result value.
-
execute
public <ResultT> Task<ResultT> execute(@Nonnull AwsRequest request, @Nonnull Long requestTimeout, @Nonnull Class<ResultT> resultClass)
Executes the AWS request, and decodes the result into an instance of the specified type. The response will be decoded using the codec registry specified when the app client was configured. If no codec registry was configured, a default codec registry will be used. The default codec registry supports the mappings specified here- Specified by:
execute
in interfaceAwsServiceClient
- Type Parameters:
ResultT
- the type into which the response will be decoded.- Parameters:
request
- the AWS request to execute.requestTimeout
- the number of milliseconds the client should wait for a response from the server before failing with an error.resultClass
- the class that the result should be decoded as.- Returns:
- a task containing the decoded result value.
-
execute
public <ResultT> Task<ResultT> execute(@Nonnull AwsRequest request, @Nonnull Long requestTimeout, @Nonnull Class<ResultT> resultClass, @Nonnull CodecRegistry codecRegistry)
Executes the AWS request, and decodes the result into an instance of the specified type. The response will be decoded using the codec registry given.- Specified by:
execute
in interfaceAwsServiceClient
- Type Parameters:
ResultT
- the type into which the response will be decoded.- Parameters:
request
- the AWS request to execute.requestTimeout
- the number of milliseconds the client should wait for a response from the server before failing with an error.resultClass
- the class that the result should be decoded as.codecRegistry
- the codec registry used for de/serialization of the function call.- Returns:
- a task containing the decoded result value.
-
getCodecRegistry
public CodecRegistry getCodecRegistry()
Get the codec registry that will be used to decode responses when a codec registry.- Specified by:
getCodecRegistry
in interfaceAwsServiceClient
- Returns:
- a task containing the
CodecRegistry
-
withCodecRegistry
public AwsServiceClient withCodecRegistry(@Nonnull CodecRegistry codecRegistry)
Create a new AwsServiceClient instance with a different codec registry.- Specified by:
withCodecRegistry
in interfaceAwsServiceClient
- Parameters:
codecRegistry
- the newCodecRegistry
for the client.- Returns:
- a new AwsServiceClient instance with the different codec registry
-
-