public interface CallChain
CallChain provides
a fluent API * design that ensure that right sequence of steps is followed
for making a service call.
Any service call should use AmazonWebServicesClientProxy. Here is the
minimum sequence for the calls.
AmazonWebServicesClientProxy| Modifier and Type | Interface and Description |
|---|---|
static interface |
CallChain.Callback<RequestT,ResponseT,ClientT,ModelT,CallbackT extends StdCallbackContext,ReturnT>
All service calls made will use the same call back interface for handling
both exceptions as well as actual response received from the call.
|
static interface |
CallChain.Caller<RequestT,ClientT,ModelT,CallbackT extends StdCallbackContext>
This Encapsulates the actual Call to the service that is being made via
caller.
|
static interface |
CallChain.Completed<RequestT,ResponseT,ClientT,ModelT,CallbackT extends StdCallbackContext>
One the call sequence has completed successfully, this is called to provide
the progress event.
|
static interface |
CallChain.Exceptional<RequestT,ResponseT,ClientT,ModelT,CallbackT extends StdCallbackContext>
This provide the handler with the option to provide an explicit exception
handler that would have service exceptions that was received.
|
static interface |
CallChain.ExceptionPropagate<RequestT,E extends Exception,ClientT,ModelT,CallbackT extends StdCallbackContext,ReturnT>
When implementing this interface, developers can either propagate the
exception as is.
|
static interface |
CallChain.Initiator<ClientT,ModelT,CallbackT extends StdCallbackContext>
Provides an API initiator interface that works for all API calls that need
conversion, retry-backoff strategy, common exception handling and more
against desired state of the resource and callback context.
|
static interface |
CallChain.RequestMaker<ClientT,ModelT,CallbackT extends StdCallbackContext>
This performs the translate step between the ModelT properties and what is
needed for making the service call.
|
static interface |
CallChain.Stabilizer<RequestT,ResponseT,ClientT,ModelT,CallbackT extends StdCallbackContext>
This provides an optional stabilization function to be incorporate before we
are done with the actual web service request.
|
| Modifier and Type | Method and Description |
|---|---|
<ClientT,ModelT,CallbackT extends StdCallbackContext> |
initiate(String callGraph,
ProxyClient<ClientT> client,
ModelT model,
CallbackT cxt)
Each service call must be first initiated.
|
<ClientT,ModelT,CallbackT extends StdCallbackContext> |
newInitiator(ProxyClient<ClientT> client,
ModelT model,
CallbackT context)
factory method can created an
CallChain.Initiator |
<ClientT,ModelT,CallbackT extends StdCallbackContext> CallChain.Initiator<ClientT,ModelT,CallbackT> newInitiator(ProxyClient<ClientT> client, ModelT model, CallbackT context)
CallChain.InitiatorClientT - Actual client e.g. KinesisClient.ModelT - The type (POJO) of Resource model.client - AWS Service Client. Recommend using Sync client as the
framework handles interleaving as needed.model - the resource desired state model, usuallycontext - callback context that tracks all outbound API calls, - callback context the extends StdCallbackContextCallChain.Initiator<ClientT,ModelT,CallbackT extends StdCallbackContext> CallChain.RequestMaker<ClientT,ModelT,CallbackT> initiate(String callGraph, ProxyClient<ClientT> client, ModelT model, CallbackT cxt)
StdCallbackContext automated replay capabilities.ClientT - Actual client e.g. KinesisClient.ModelT - The type (POJO) of Resource model.callGraph, - the name of the service operation this call graph is about.client, - actual client needed to make the call wrapped inside
ProxyClient to support injection of scoped credentialsmodel, - the actual resource model that defines the shape for setting up
this resource type.cxt, - Callback context used for supporting replay and dedupe
capabilities., - callback context the extends StdCallbackContextCopyright © 2019 Amazon Web Services, Inc. All Rights Reserved.