/* * Copyright 2011-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.client; import com.amazonaws.AmazonServiceException; import com.amazonaws.Request; import com.amazonaws.RequestConfig; import com.amazonaws.SdkBaseException; import com.amazonaws.annotation.NotThreadSafe; import com.amazonaws.annotation.SdkProtectedApi; import com.amazonaws.http.HttpResponseHandler; import com.amazonaws.transform.Marshaller; /** * Encapsulates parameters needed for a particular API call. Captures input and output pojo types. * * @param Input POJO type. * @param Output POJO type. */ @SdkProtectedApi @NotThreadSafe public class ClientExecutionParams { private Input input; private Marshaller, Input> marshaller; private HttpResponseHandler responseHandler; private HttpResponseHandler errorResponseHandler; private RequestConfig requestConfig; public Marshaller, Input> getMarshaller() { return marshaller; } public ClientExecutionParams withMarshaller( Marshaller, Input> marshaller) { this.marshaller = marshaller; return this; } public Input getInput() { return input; } public ClientExecutionParams withInput(Input input) { this.input = input; return this; } public HttpResponseHandler getResponseHandler() { return responseHandler; } public ClientExecutionParams withResponseHandler( HttpResponseHandler responseHandler) { this.responseHandler = responseHandler; return this; } public HttpResponseHandler getErrorResponseHandler() { return errorResponseHandler; } public ClientExecutionParams withErrorResponseHandler( HttpResponseHandler errorResponseHandler) { this.errorResponseHandler = errorResponseHandler; return this; } public RequestConfig getRequestConfig() { return requestConfig; } public ClientExecutionParams withRequestConfig(RequestConfig requestConfig) { this.requestConfig = requestConfig; return this; } }