/* * Copyright 2018-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.services.cloudwatchevidently; import javax.annotation.Generated; import com.amazonaws.services.cloudwatchevidently.model.*; import com.amazonaws.client.AwsAsyncClientParams; import com.amazonaws.annotation.ThreadSafe; import java.util.concurrent.ExecutorService; /** * Client for accessing Amazon CloudWatch Evidently asynchronously. Each asynchronous method will return a Java Future * object representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive * notification when an asynchronous operation completes. *

*

* You can use Amazon CloudWatch Evidently to safely validate new features by serving them to a specified percentage of * your users while you roll out the feature. You can monitor the performance of the new feature to help you decide when * to ramp up traffic to your users. This helps you reduce risk and identify unintended consequences before you fully * launch the feature. *

*

* You can also conduct A/B experiments to make feature design decisions based on evidence and data. An experiment can * test as many as five variations at once. Evidently collects experiment data and analyzes it using statistical * methods. It also provides clear recommendations about which variations perform better. You can test both user-facing * features and backend features. *

*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AmazonCloudWatchEvidentlyAsyncClient extends AmazonCloudWatchEvidentlyClient implements AmazonCloudWatchEvidentlyAsync { private static final int DEFAULT_THREAD_POOL_SIZE = 50; private final java.util.concurrent.ExecutorService executorService; public static AmazonCloudWatchEvidentlyAsyncClientBuilder asyncBuilder() { return AmazonCloudWatchEvidentlyAsyncClientBuilder.standard(); } /** * Constructs a new asynchronous client to invoke service methods on Amazon CloudWatch Evidently using the specified * parameters. * * @param asyncClientParams * Object providing client parameters. */ AmazonCloudWatchEvidentlyAsyncClient(AwsAsyncClientParams asyncClientParams) { this(asyncClientParams, false); } /** * Constructs a new asynchronous client to invoke service methods on Amazon CloudWatch Evidently using the specified * parameters. * * @param asyncClientParams * Object providing client parameters. * @param endpointDiscoveryEnabled * true will enable endpoint discovery if the service supports it. */ AmazonCloudWatchEvidentlyAsyncClient(AwsAsyncClientParams asyncClientParams, boolean endpointDiscoveryEnabled) { super(asyncClientParams, endpointDiscoveryEnabled); this.executorService = asyncClientParams.getExecutor(); } /** * Returns the executor service used by this client to execute async requests. * * @return The executor service used by this client to execute async requests. */ public ExecutorService getExecutorService() { return executorService; } @Override public java.util.concurrent.Future batchEvaluateFeatureAsync(BatchEvaluateFeatureRequest request) { return batchEvaluateFeatureAsync(request, null); } @Override public java.util.concurrent.Future batchEvaluateFeatureAsync(final BatchEvaluateFeatureRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final BatchEvaluateFeatureRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public BatchEvaluateFeatureResult call() throws Exception { BatchEvaluateFeatureResult result = null; try { result = executeBatchEvaluateFeature(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future createExperimentAsync(CreateExperimentRequest request) { return createExperimentAsync(request, null); } @Override public java.util.concurrent.Future createExperimentAsync(final CreateExperimentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final CreateExperimentRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public CreateExperimentResult call() throws Exception { CreateExperimentResult result = null; try { result = executeCreateExperiment(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future createFeatureAsync(CreateFeatureRequest request) { return createFeatureAsync(request, null); } @Override public java.util.concurrent.Future createFeatureAsync(final CreateFeatureRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final CreateFeatureRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public CreateFeatureResult call() throws Exception { CreateFeatureResult result = null; try { result = executeCreateFeature(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future createLaunchAsync(CreateLaunchRequest request) { return createLaunchAsync(request, null); } @Override public java.util.concurrent.Future createLaunchAsync(final CreateLaunchRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final CreateLaunchRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public CreateLaunchResult call() throws Exception { CreateLaunchResult result = null; try { result = executeCreateLaunch(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future createProjectAsync(CreateProjectRequest request) { return createProjectAsync(request, null); } @Override public java.util.concurrent.Future createProjectAsync(final CreateProjectRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final CreateProjectRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public CreateProjectResult call() throws Exception { CreateProjectResult result = null; try { result = executeCreateProject(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future createSegmentAsync(CreateSegmentRequest request) { return createSegmentAsync(request, null); } @Override public java.util.concurrent.Future createSegmentAsync(final CreateSegmentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final CreateSegmentRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public CreateSegmentResult call() throws Exception { CreateSegmentResult result = null; try { result = executeCreateSegment(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future deleteExperimentAsync(DeleteExperimentRequest request) { return deleteExperimentAsync(request, null); } @Override public java.util.concurrent.Future deleteExperimentAsync(final DeleteExperimentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final DeleteExperimentRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public DeleteExperimentResult call() throws Exception { DeleteExperimentResult result = null; try { result = executeDeleteExperiment(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future deleteFeatureAsync(DeleteFeatureRequest request) { return deleteFeatureAsync(request, null); } @Override public java.util.concurrent.Future deleteFeatureAsync(final DeleteFeatureRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final DeleteFeatureRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public DeleteFeatureResult call() throws Exception { DeleteFeatureResult result = null; try { result = executeDeleteFeature(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future deleteLaunchAsync(DeleteLaunchRequest request) { return deleteLaunchAsync(request, null); } @Override public java.util.concurrent.Future deleteLaunchAsync(final DeleteLaunchRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final DeleteLaunchRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public DeleteLaunchResult call() throws Exception { DeleteLaunchResult result = null; try { result = executeDeleteLaunch(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future deleteProjectAsync(DeleteProjectRequest request) { return deleteProjectAsync(request, null); } @Override public java.util.concurrent.Future deleteProjectAsync(final DeleteProjectRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final DeleteProjectRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public DeleteProjectResult call() throws Exception { DeleteProjectResult result = null; try { result = executeDeleteProject(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future deleteSegmentAsync(DeleteSegmentRequest request) { return deleteSegmentAsync(request, null); } @Override public java.util.concurrent.Future deleteSegmentAsync(final DeleteSegmentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final DeleteSegmentRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public DeleteSegmentResult call() throws Exception { DeleteSegmentResult result = null; try { result = executeDeleteSegment(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future evaluateFeatureAsync(EvaluateFeatureRequest request) { return evaluateFeatureAsync(request, null); } @Override public java.util.concurrent.Future evaluateFeatureAsync(final EvaluateFeatureRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final EvaluateFeatureRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public EvaluateFeatureResult call() throws Exception { EvaluateFeatureResult result = null; try { result = executeEvaluateFeature(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future getExperimentAsync(GetExperimentRequest request) { return getExperimentAsync(request, null); } @Override public java.util.concurrent.Future getExperimentAsync(final GetExperimentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final GetExperimentRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public GetExperimentResult call() throws Exception { GetExperimentResult result = null; try { result = executeGetExperiment(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future getExperimentResultsAsync(GetExperimentResultsRequest request) { return getExperimentResultsAsync(request, null); } @Override public java.util.concurrent.Future getExperimentResultsAsync(final GetExperimentResultsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final GetExperimentResultsRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public GetExperimentResultsResult call() throws Exception { GetExperimentResultsResult result = null; try { result = executeGetExperimentResults(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future getFeatureAsync(GetFeatureRequest request) { return getFeatureAsync(request, null); } @Override public java.util.concurrent.Future getFeatureAsync(final GetFeatureRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final GetFeatureRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public GetFeatureResult call() throws Exception { GetFeatureResult result = null; try { result = executeGetFeature(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future getLaunchAsync(GetLaunchRequest request) { return getLaunchAsync(request, null); } @Override public java.util.concurrent.Future getLaunchAsync(final GetLaunchRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final GetLaunchRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public GetLaunchResult call() throws Exception { GetLaunchResult result = null; try { result = executeGetLaunch(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future getProjectAsync(GetProjectRequest request) { return getProjectAsync(request, null); } @Override public java.util.concurrent.Future getProjectAsync(final GetProjectRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final GetProjectRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public GetProjectResult call() throws Exception { GetProjectResult result = null; try { result = executeGetProject(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future getSegmentAsync(GetSegmentRequest request) { return getSegmentAsync(request, null); } @Override public java.util.concurrent.Future getSegmentAsync(final GetSegmentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final GetSegmentRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public GetSegmentResult call() throws Exception { GetSegmentResult result = null; try { result = executeGetSegment(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future listExperimentsAsync(ListExperimentsRequest request) { return listExperimentsAsync(request, null); } @Override public java.util.concurrent.Future listExperimentsAsync(final ListExperimentsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ListExperimentsRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ListExperimentsResult call() throws Exception { ListExperimentsResult result = null; try { result = executeListExperiments(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future listFeaturesAsync(ListFeaturesRequest request) { return listFeaturesAsync(request, null); } @Override public java.util.concurrent.Future listFeaturesAsync(final ListFeaturesRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ListFeaturesRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ListFeaturesResult call() throws Exception { ListFeaturesResult result = null; try { result = executeListFeatures(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future listLaunchesAsync(ListLaunchesRequest request) { return listLaunchesAsync(request, null); } @Override public java.util.concurrent.Future listLaunchesAsync(final ListLaunchesRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ListLaunchesRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ListLaunchesResult call() throws Exception { ListLaunchesResult result = null; try { result = executeListLaunches(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future listProjectsAsync(ListProjectsRequest request) { return listProjectsAsync(request, null); } @Override public java.util.concurrent.Future listProjectsAsync(final ListProjectsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ListProjectsRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ListProjectsResult call() throws Exception { ListProjectsResult result = null; try { result = executeListProjects(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future listSegmentReferencesAsync(ListSegmentReferencesRequest request) { return listSegmentReferencesAsync(request, null); } @Override public java.util.concurrent.Future listSegmentReferencesAsync(final ListSegmentReferencesRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ListSegmentReferencesRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ListSegmentReferencesResult call() throws Exception { ListSegmentReferencesResult result = null; try { result = executeListSegmentReferences(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future listSegmentsAsync(ListSegmentsRequest request) { return listSegmentsAsync(request, null); } @Override public java.util.concurrent.Future listSegmentsAsync(final ListSegmentsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ListSegmentsRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ListSegmentsResult call() throws Exception { ListSegmentsResult result = null; try { result = executeListSegments(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future listTagsForResourceAsync(ListTagsForResourceRequest request) { return listTagsForResourceAsync(request, null); } @Override public java.util.concurrent.Future listTagsForResourceAsync(final ListTagsForResourceRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ListTagsForResourceRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ListTagsForResourceResult call() throws Exception { ListTagsForResourceResult result = null; try { result = executeListTagsForResource(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future putProjectEventsAsync(PutProjectEventsRequest request) { return putProjectEventsAsync(request, null); } @Override public java.util.concurrent.Future putProjectEventsAsync(final PutProjectEventsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final PutProjectEventsRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public PutProjectEventsResult call() throws Exception { PutProjectEventsResult result = null; try { result = executePutProjectEvents(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future startExperimentAsync(StartExperimentRequest request) { return startExperimentAsync(request, null); } @Override public java.util.concurrent.Future startExperimentAsync(final StartExperimentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final StartExperimentRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public StartExperimentResult call() throws Exception { StartExperimentResult result = null; try { result = executeStartExperiment(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future startLaunchAsync(StartLaunchRequest request) { return startLaunchAsync(request, null); } @Override public java.util.concurrent.Future startLaunchAsync(final StartLaunchRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final StartLaunchRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public StartLaunchResult call() throws Exception { StartLaunchResult result = null; try { result = executeStartLaunch(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future stopExperimentAsync(StopExperimentRequest request) { return stopExperimentAsync(request, null); } @Override public java.util.concurrent.Future stopExperimentAsync(final StopExperimentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final StopExperimentRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public StopExperimentResult call() throws Exception { StopExperimentResult result = null; try { result = executeStopExperiment(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future stopLaunchAsync(StopLaunchRequest request) { return stopLaunchAsync(request, null); } @Override public java.util.concurrent.Future stopLaunchAsync(final StopLaunchRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final StopLaunchRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public StopLaunchResult call() throws Exception { StopLaunchResult result = null; try { result = executeStopLaunch(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future tagResourceAsync(TagResourceRequest request) { return tagResourceAsync(request, null); } @Override public java.util.concurrent.Future tagResourceAsync(final TagResourceRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final TagResourceRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public TagResourceResult call() throws Exception { TagResourceResult result = null; try { result = executeTagResource(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future testSegmentPatternAsync(TestSegmentPatternRequest request) { return testSegmentPatternAsync(request, null); } @Override public java.util.concurrent.Future testSegmentPatternAsync(final TestSegmentPatternRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final TestSegmentPatternRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public TestSegmentPatternResult call() throws Exception { TestSegmentPatternResult result = null; try { result = executeTestSegmentPattern(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future untagResourceAsync(UntagResourceRequest request) { return untagResourceAsync(request, null); } @Override public java.util.concurrent.Future untagResourceAsync(final UntagResourceRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final UntagResourceRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public UntagResourceResult call() throws Exception { UntagResourceResult result = null; try { result = executeUntagResource(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future updateExperimentAsync(UpdateExperimentRequest request) { return updateExperimentAsync(request, null); } @Override public java.util.concurrent.Future updateExperimentAsync(final UpdateExperimentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final UpdateExperimentRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public UpdateExperimentResult call() throws Exception { UpdateExperimentResult result = null; try { result = executeUpdateExperiment(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future updateFeatureAsync(UpdateFeatureRequest request) { return updateFeatureAsync(request, null); } @Override public java.util.concurrent.Future updateFeatureAsync(final UpdateFeatureRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final UpdateFeatureRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public UpdateFeatureResult call() throws Exception { UpdateFeatureResult result = null; try { result = executeUpdateFeature(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future updateLaunchAsync(UpdateLaunchRequest request) { return updateLaunchAsync(request, null); } @Override public java.util.concurrent.Future updateLaunchAsync(final UpdateLaunchRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final UpdateLaunchRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public UpdateLaunchResult call() throws Exception { UpdateLaunchResult result = null; try { result = executeUpdateLaunch(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future updateProjectAsync(UpdateProjectRequest request) { return updateProjectAsync(request, null); } @Override public java.util.concurrent.Future updateProjectAsync(final UpdateProjectRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final UpdateProjectRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public UpdateProjectResult call() throws Exception { UpdateProjectResult result = null; try { result = executeUpdateProject(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future updateProjectDataDeliveryAsync(UpdateProjectDataDeliveryRequest request) { return updateProjectDataDeliveryAsync(request, null); } @Override public java.util.concurrent.Future updateProjectDataDeliveryAsync(final UpdateProjectDataDeliveryRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final UpdateProjectDataDeliveryRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public UpdateProjectDataDeliveryResult call() throws Exception { UpdateProjectDataDeliveryResult result = null; try { result = executeUpdateProjectDataDelivery(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } /** * Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending * asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should * call {@code getExecutorService().shutdown()} followed by {@code getExecutorService().awaitTermination()} prior to * calling this method. */ @Override public void shutdown() { super.shutdown(); executorService.shutdownNow(); } }