/* * Copyright 2010-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.translate; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import com.amazonaws.AmazonClientException; import com.amazonaws.AmazonServiceException; import com.amazonaws.handlers.AsyncHandler; import com.amazonaws.ClientConfiguration; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.auth.DefaultAWSCredentialsProviderChain; import com.amazonaws.services.translate.model.*; /** * Interface for accessing Amazon Translate asynchronously. *

* Provides translation of the input content from the source language to the * target language. *

**/ public class AmazonTranslateAsyncClient extends AmazonTranslateClient implements AmazonTranslateAsync { /** * Executor service for executing asynchronous requests. */ private ExecutorService executorService; private static final int DEFAULT_THREAD_POOL_SIZE = 10; /** * Constructs a new asynchronous client to invoke service methods on Amazon * Translate. A credentials provider chain will be used that searches for * credentials in this order: * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @see DefaultAWSCredentialsProviderChain */ @Deprecated public AmazonTranslateAsyncClient() { this(new DefaultAWSCredentialsProviderChain()); } /** * Constructs a new asynchronous client to invoke service methods on Amazon * Translate. A credentials provider chain will be used that searches for * credentials in this order: *

*

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param clientConfiguration The client configuration options controlling * how this client connects to Amazon Translate (ex: proxy * settings, retry counts, etc.). * @see DefaultAWSCredentialsProviderChain */ @Deprecated public AmazonTranslateAsyncClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration, Executors .newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on Amazon * Translate using the specified AWS account credentials. Default client * settings will be used, and a fixed size thread pool will be created for * executing the asynchronous tasks. *

* All calls made using this new client object are non-blocking, and will * immediately return a Java Future object that the caller can later check * to see if the service call has actually completed. * * @param awsCredentials The AWS credentials (access key ID and secret key) * to use when authenticating with AWS services. */ public AmazonTranslateAsyncClient(AWSCredentials awsCredentials) { this(awsCredentials, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on Amazon * Translate using the specified AWS account credentials and executor * service. Default client settings will be used. *

* All calls made using this new client object are non-blocking, and will * immediately return a Java Future object that the caller can later check * to see if the service call has actually completed. * * @param awsCredentials The AWS credentials (access key ID and secret key) * to use when authenticating with AWS services. * @param executorService The executor service by which all asynchronous * requests will be executed. */ public AmazonTranslateAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService) { super(awsCredentials); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on Amazon * Translate using the specified AWS account credentials, executor service, * and client configuration options. *

* All calls made using this new client object are non-blocking, and will * immediately return a Java Future object that the caller can later check * to see if the service call has actually completed. * * @param awsCredentials The AWS credentials (access key ID and secret key) * to use when authenticating with AWS services. * @param clientConfiguration Client configuration options (ex: max retry * limit, proxy settings, etc). * @param executorService The executor service by which all asynchronous * requests will be executed. */ public AmazonTranslateAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentials, clientConfiguration); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on Amazon * Translate using the specified AWS account credentials provider. Default * client settings will be used, and a fixed size thread pool will be * created for executing the asynchronous tasks. *

* All calls made using this new client object are non-blocking, and will * immediately return a Java Future object that the caller can later check * to see if the service call has actually completed. * * @param awsCredentialsProvider The AWS credentials provider which will * provide credentials to authenticate requests with AWS * services. */ public AmazonTranslateAsyncClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on Amazon * Translate using the specified AWS account credentials provider and * executor service. Default client settings will be used. *

* All calls made using this new client object are non-blocking, and will * immediately return a Java Future object that the caller can later check * to see if the service call has actually completed. * * @param awsCredentialsProvider The AWS credentials provider which will * provide credentials to authenticate requests with AWS * services. * @param executorService The executor service by which all asynchronous * requests will be executed. */ public AmazonTranslateAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService) { this(awsCredentialsProvider, new ClientConfiguration(), executorService); } /** * Constructs a new asynchronous client to invoke service methods on Amazon * Translate using the specified AWS account credentials provider and client * configuration options. *

* All calls made using this new client object are non-blocking, and will * immediately return a Java Future object that the caller can later check * to see if the service call has actually completed. * * @param awsCredentialsProvider The AWS credentials provider which will * provide credentials to authenticate requests with AWS * services. * @param clientConfiguration Client configuration options (ex: max retry * limit, proxy settings, etc). */ public AmazonTranslateAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, Executors .newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on Amazon * Translate using the specified AWS account credentials provider, executor * service, and client configuration options. *

* All calls made using this new client object are non-blocking, and will * immediately return a Java Future object that the caller can later check * to see if the service call has actually completed. * * @param awsCredentialsProvider The AWS credentials provider which will * provide credentials to authenticate requests with AWS * services. * @param clientConfiguration Client configuration options (ex: max retry * limit, proxy settings, etc). * @param executorService The executor service by which all asynchronous * requests will be executed. */ public AmazonTranslateAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentialsProvider, clientConfiguration); this.executorService = executorService; } /** * Returns the executor service used by this async client to execute * requests. * * @return The executor service used by this async client to execute * requests. */ public ExecutorService getExecutorService() { return executorService; } /** * 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 getExecutorService().shutdown() followed by * getExecutorService().awaitTermination() prior to calling this method. */ @Override public void shutdown() { super.shutdown(); executorService.shutdownNow(); } /** *

* Creates a parallel data resource in Amazon Translate by importing an * input file from Amazon S3. Parallel data files contain examples that show * how you want segments of text to be translated. By adding parallel data, * you can influence the style, tone, and word choice in your translation * output. *

* * @param createParallelDataRequest * @return A Java Future object containing the response from the * CreateParallelData service method, as returned by Amazon * Translate. * @throws InvalidParameterValueException * @throws InvalidRequestException * @throws LimitExceededException * @throws TooManyRequestsException * @throws TooManyTagsException * @throws ConflictException * @throws ConcurrentModificationException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future createParallelDataAsync( final CreateParallelDataRequest createParallelDataRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateParallelDataResult call() throws Exception { return createParallelData(createParallelDataRequest); } }); } /** *

* Creates a parallel data resource in Amazon Translate by importing an * input file from Amazon S3. Parallel data files contain examples that show * how you want segments of text to be translated. By adding parallel data, * you can influence the style, tone, and word choice in your translation * output. *

* * @param createParallelDataRequest * @return A Java Future object containing the response from the * CreateParallelData service method, as returned by Amazon * Translate. * @throws InvalidParameterValueException * @throws InvalidRequestException * @throws LimitExceededException * @throws TooManyRequestsException * @throws TooManyTagsException * @throws ConflictException * @throws ConcurrentModificationException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future createParallelDataAsync( final CreateParallelDataRequest createParallelDataRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateParallelDataResult call() throws Exception { CreateParallelDataResult result = null; try { result = createParallelData(createParallelDataRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createParallelDataRequest, result); return result; } }); } /** *

* Deletes a parallel data resource in Amazon Translate. *

* * @param deleteParallelDataRequest * @return A Java Future object containing the response from the * DeleteParallelData service method, as returned by Amazon * Translate. * @throws ConcurrentModificationException * @throws ResourceNotFoundException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future deleteParallelDataAsync( final DeleteParallelDataRequest deleteParallelDataRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteParallelDataResult call() throws Exception { return deleteParallelData(deleteParallelDataRequest); } }); } /** *

* Deletes a parallel data resource in Amazon Translate. *

* * @param deleteParallelDataRequest * @return A Java Future object containing the response from the * DeleteParallelData service method, as returned by Amazon * Translate. * @throws ConcurrentModificationException * @throws ResourceNotFoundException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future deleteParallelDataAsync( final DeleteParallelDataRequest deleteParallelDataRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteParallelDataResult call() throws Exception { DeleteParallelDataResult result = null; try { result = deleteParallelData(deleteParallelDataRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteParallelDataRequest, result); return result; } }); } /** *

* A synchronous action that deletes a custom terminology. *

* * @param deleteTerminologyRequest * @return A Java Future object containing the response from the * DeleteTerminology service method, as returned by Amazon * Translate. * @throws ResourceNotFoundException * @throws TooManyRequestsException * @throws InvalidParameterValueException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future deleteTerminologyAsync( final DeleteTerminologyRequest deleteTerminologyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteTerminology(deleteTerminologyRequest); return null; } }); } /** *

* A synchronous action that deletes a custom terminology. *

* * @param deleteTerminologyRequest * @return A Java Future object containing the response from the * DeleteTerminology service method, as returned by Amazon * Translate. * @throws ResourceNotFoundException * @throws TooManyRequestsException * @throws InvalidParameterValueException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future deleteTerminologyAsync( final DeleteTerminologyRequest deleteTerminologyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { Void result = null; try { deleteTerminology(deleteTerminologyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteTerminologyRequest, result); return result; } }); } /** *

* Gets the properties associated with an asynchronous batch translation job * including name, ID, status, source and target languages, input/output S3 * buckets, and so on. *

* * @param describeTextTranslationJobRequest * @return A Java Future object containing the response from the * DescribeTextTranslationJob service method, as returned by Amazon * Translate. * @throws ResourceNotFoundException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future describeTextTranslationJobAsync( final DescribeTextTranslationJobRequest describeTextTranslationJobRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTextTranslationJobResult call() throws Exception { return describeTextTranslationJob(describeTextTranslationJobRequest); } }); } /** *

* Gets the properties associated with an asynchronous batch translation job * including name, ID, status, source and target languages, input/output S3 * buckets, and so on. *

* * @param describeTextTranslationJobRequest * @return A Java Future object containing the response from the * DescribeTextTranslationJob service method, as returned by Amazon * Translate. * @throws ResourceNotFoundException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future describeTextTranslationJobAsync( final DescribeTextTranslationJobRequest describeTextTranslationJobRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTextTranslationJobResult call() throws Exception { DescribeTextTranslationJobResult result = null; try { result = describeTextTranslationJob(describeTextTranslationJobRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeTextTranslationJobRequest, result); return result; } }); } /** *

* Provides information about a parallel data resource. *

* * @param getParallelDataRequest * @return A Java Future object containing the response from the * GetParallelData service method, as returned by Amazon Translate. * @throws ResourceNotFoundException * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future getParallelDataAsync( final GetParallelDataRequest getParallelDataRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetParallelDataResult call() throws Exception { return getParallelData(getParallelDataRequest); } }); } /** *

* Provides information about a parallel data resource. *

* * @param getParallelDataRequest * @return A Java Future object containing the response from the * GetParallelData service method, as returned by Amazon Translate. * @throws ResourceNotFoundException * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future getParallelDataAsync( final GetParallelDataRequest getParallelDataRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetParallelDataResult call() throws Exception { GetParallelDataResult result = null; try { result = getParallelData(getParallelDataRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getParallelDataRequest, result); return result; } }); } /** *

* Retrieves a custom terminology. *

* * @param getTerminologyRequest * @return A Java Future object containing the response from the * GetTerminology service method, as returned by Amazon Translate. * @throws ResourceNotFoundException * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future getTerminologyAsync( final GetTerminologyRequest getTerminologyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetTerminologyResult call() throws Exception { return getTerminology(getTerminologyRequest); } }); } /** *

* Retrieves a custom terminology. *

* * @param getTerminologyRequest * @return A Java Future object containing the response from the * GetTerminology service method, as returned by Amazon Translate. * @throws ResourceNotFoundException * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future getTerminologyAsync( final GetTerminologyRequest getTerminologyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetTerminologyResult call() throws Exception { GetTerminologyResult result = null; try { result = getTerminology(getTerminologyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getTerminologyRequest, result); return result; } }); } /** *

* Creates or updates a custom terminology, depending on whether one already * exists for the given terminology name. Importing a terminology with the * same name as an existing one will merge the terminologies based on the * chosen merge strategy. The only supported merge strategy is OVERWRITE, * where the imported terminology overwrites the existing terminology of the * same name. *

*

* If you import a terminology that overwrites an existing one, the new * terminology takes up to 10 minutes to fully propagate. After that, * translations have access to the new terminology. *

* * @param importTerminologyRequest * @return A Java Future object containing the response from the * ImportTerminology service method, as returned by Amazon * Translate. * @throws InvalidParameterValueException * @throws LimitExceededException * @throws TooManyRequestsException * @throws TooManyTagsException * @throws ConcurrentModificationException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future importTerminologyAsync( final ImportTerminologyRequest importTerminologyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ImportTerminologyResult call() throws Exception { return importTerminology(importTerminologyRequest); } }); } /** *

* Creates or updates a custom terminology, depending on whether one already * exists for the given terminology name. Importing a terminology with the * same name as an existing one will merge the terminologies based on the * chosen merge strategy. The only supported merge strategy is OVERWRITE, * where the imported terminology overwrites the existing terminology of the * same name. *

*

* If you import a terminology that overwrites an existing one, the new * terminology takes up to 10 minutes to fully propagate. After that, * translations have access to the new terminology. *

* * @param importTerminologyRequest * @return A Java Future object containing the response from the * ImportTerminology service method, as returned by Amazon * Translate. * @throws InvalidParameterValueException * @throws LimitExceededException * @throws TooManyRequestsException * @throws TooManyTagsException * @throws ConcurrentModificationException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future importTerminologyAsync( final ImportTerminologyRequest importTerminologyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ImportTerminologyResult call() throws Exception { ImportTerminologyResult result = null; try { result = importTerminology(importTerminologyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(importTerminologyRequest, result); return result; } }); } /** *

* Provides a list of languages (RFC-5646 codes and names) that Amazon * Translate supports. *

* * @param listLanguagesRequest * @return A Java Future object containing the response from the * ListLanguages service method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws UnsupportedDisplayLanguageCodeException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future listLanguagesAsync( final ListLanguagesRequest listLanguagesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListLanguagesResult call() throws Exception { return listLanguages(listLanguagesRequest); } }); } /** *

* Provides a list of languages (RFC-5646 codes and names) that Amazon * Translate supports. *

* * @param listLanguagesRequest * @return A Java Future object containing the response from the * ListLanguages service method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws UnsupportedDisplayLanguageCodeException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future listLanguagesAsync( final ListLanguagesRequest listLanguagesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListLanguagesResult call() throws Exception { ListLanguagesResult result = null; try { result = listLanguages(listLanguagesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listLanguagesRequest, result); return result; } }); } /** *

* Provides a list of your parallel data resources in Amazon Translate. *

* * @param listParallelDataRequest * @return A Java Future object containing the response from the * ListParallelData service method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future listParallelDataAsync( final ListParallelDataRequest listParallelDataRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListParallelDataResult call() throws Exception { return listParallelData(listParallelDataRequest); } }); } /** *

* Provides a list of your parallel data resources in Amazon Translate. *

* * @param listParallelDataRequest * @return A Java Future object containing the response from the * ListParallelData service method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future listParallelDataAsync( final ListParallelDataRequest listParallelDataRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListParallelDataResult call() throws Exception { ListParallelDataResult result = null; try { result = listParallelData(listParallelDataRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listParallelDataRequest, result); return result; } }); } /** *

* Lists all tags associated with a given Amazon Translate resource. For * more information, see * Tagging your resources. *

* * @param listTagsForResourceRequest * @return A Java Future object containing the response from the * ListTagsForResource service method, as returned by Amazon * Translate. * @throws InvalidParameterValueException * @throws ResourceNotFoundException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future listTagsForResourceAsync( final ListTagsForResourceRequest listTagsForResourceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListTagsForResourceResult call() throws Exception { return listTagsForResource(listTagsForResourceRequest); } }); } /** *

* Lists all tags associated with a given Amazon Translate resource. For * more information, see * Tagging your resources. *

* * @param listTagsForResourceRequest * @return A Java Future object containing the response from the * ListTagsForResource service method, as returned by Amazon * Translate. * @throws InvalidParameterValueException * @throws ResourceNotFoundException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future listTagsForResourceAsync( final ListTagsForResourceRequest listTagsForResourceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListTagsForResourceResult call() throws Exception { ListTagsForResourceResult result = null; try { result = listTagsForResource(listTagsForResourceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listTagsForResourceRequest, result); return result; } }); } /** *

* Provides a list of custom terminologies associated with your account. *

* * @param listTerminologiesRequest * @return A Java Future object containing the response from the * ListTerminologies service method, as returned by Amazon * Translate. * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future listTerminologiesAsync( final ListTerminologiesRequest listTerminologiesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListTerminologiesResult call() throws Exception { return listTerminologies(listTerminologiesRequest); } }); } /** *

* Provides a list of custom terminologies associated with your account. *

* * @param listTerminologiesRequest * @return A Java Future object containing the response from the * ListTerminologies service method, as returned by Amazon * Translate. * @throws InvalidParameterValueException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future listTerminologiesAsync( final ListTerminologiesRequest listTerminologiesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListTerminologiesResult call() throws Exception { ListTerminologiesResult result = null; try { result = listTerminologies(listTerminologiesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listTerminologiesRequest, result); return result; } }); } /** *

* Gets a list of the batch translation jobs that you have submitted. *

* * @param listTextTranslationJobsRequest * @return A Java Future object containing the response from the * ListTextTranslationJobs service method, as returned by Amazon * Translate. * @throws InvalidRequestException * @throws TooManyRequestsException * @throws InvalidFilterException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future listTextTranslationJobsAsync( final ListTextTranslationJobsRequest listTextTranslationJobsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListTextTranslationJobsResult call() throws Exception { return listTextTranslationJobs(listTextTranslationJobsRequest); } }); } /** *

* Gets a list of the batch translation jobs that you have submitted. *

* * @param listTextTranslationJobsRequest * @return A Java Future object containing the response from the * ListTextTranslationJobs service method, as returned by Amazon * Translate. * @throws InvalidRequestException * @throws TooManyRequestsException * @throws InvalidFilterException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future listTextTranslationJobsAsync( final ListTextTranslationJobsRequest listTextTranslationJobsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListTextTranslationJobsResult call() throws Exception { ListTextTranslationJobsResult result = null; try { result = listTextTranslationJobs(listTextTranslationJobsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listTextTranslationJobsRequest, result); return result; } }); } /** *

* Starts an asynchronous batch translation job. Use batch translation jobs * to translate large volumes of text across multiple documents at once. For * batch translation, you can input documents with different source * languages (specify auto as the source language). You can * specify one or more target languages. Batch translation translates each * input document into each of the target languages. For more information, * see * Asynchronous batch processing. *

*

* Batch translation jobs can be described with the * DescribeTextTranslationJob operation, listed with the * ListTextTranslationJobs operation, and stopped with the * StopTextTranslationJob operation. *

* * @param startTextTranslationJobRequest * @return A Java Future object containing the response from the * StartTextTranslationJob service method, as returned by Amazon * Translate. * @throws TooManyRequestsException * @throws UnsupportedLanguagePairException * @throws InvalidRequestException * @throws ResourceNotFoundException * @throws InvalidParameterValueException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future startTextTranslationJobAsync( final StartTextTranslationJobRequest startTextTranslationJobRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public StartTextTranslationJobResult call() throws Exception { return startTextTranslationJob(startTextTranslationJobRequest); } }); } /** *

* Starts an asynchronous batch translation job. Use batch translation jobs * to translate large volumes of text across multiple documents at once. For * batch translation, you can input documents with different source * languages (specify auto as the source language). You can * specify one or more target languages. Batch translation translates each * input document into each of the target languages. For more information, * see * Asynchronous batch processing. *

*

* Batch translation jobs can be described with the * DescribeTextTranslationJob operation, listed with the * ListTextTranslationJobs operation, and stopped with the * StopTextTranslationJob operation. *

* * @param startTextTranslationJobRequest * @return A Java Future object containing the response from the * StartTextTranslationJob service method, as returned by Amazon * Translate. * @throws TooManyRequestsException * @throws UnsupportedLanguagePairException * @throws InvalidRequestException * @throws ResourceNotFoundException * @throws InvalidParameterValueException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future startTextTranslationJobAsync( final StartTextTranslationJobRequest startTextTranslationJobRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public StartTextTranslationJobResult call() throws Exception { StartTextTranslationJobResult result = null; try { result = startTextTranslationJob(startTextTranslationJobRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(startTextTranslationJobRequest, result); return result; } }); } /** *

* Stops an asynchronous batch translation job that is in progress. *

*

* If the job's state is IN_PROGRESS, the job will be marked * for termination and put into the STOP_REQUESTED state. If * the job completes before it can be stopped, it is put into the * COMPLETED state. Otherwise, the job is put into the * STOPPED state. *

*

* Asynchronous batch translation jobs are started with the * StartTextTranslationJob operation. You can use the * DescribeTextTranslationJob or ListTextTranslationJobs * operations to get a batch translation job's JobId. *

* * @param stopTextTranslationJobRequest * @return A Java Future object containing the response from the * StopTextTranslationJob service method, as returned by Amazon * Translate. * @throws ResourceNotFoundException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future stopTextTranslationJobAsync( final StopTextTranslationJobRequest stopTextTranslationJobRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public StopTextTranslationJobResult call() throws Exception { return stopTextTranslationJob(stopTextTranslationJobRequest); } }); } /** *

* Stops an asynchronous batch translation job that is in progress. *

*

* If the job's state is IN_PROGRESS, the job will be marked * for termination and put into the STOP_REQUESTED state. If * the job completes before it can be stopped, it is put into the * COMPLETED state. Otherwise, the job is put into the * STOPPED state. *

*

* Asynchronous batch translation jobs are started with the * StartTextTranslationJob operation. You can use the * DescribeTextTranslationJob or ListTextTranslationJobs * operations to get a batch translation job's JobId. *

* * @param stopTextTranslationJobRequest * @return A Java Future object containing the response from the * StopTextTranslationJob service method, as returned by Amazon * Translate. * @throws ResourceNotFoundException * @throws TooManyRequestsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future stopTextTranslationJobAsync( final StopTextTranslationJobRequest stopTextTranslationJobRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public StopTextTranslationJobResult call() throws Exception { StopTextTranslationJobResult result = null; try { result = stopTextTranslationJob(stopTextTranslationJobRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(stopTextTranslationJobRequest, result); return result; } }); } /** *

* Associates a specific tag with a resource. A tag is a key-value pair that * adds as a metadata to a resource. For more information, see * Tagging your resources. *

* * @param tagResourceRequest * @return A Java Future object containing the response from the TagResource * service method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws ConcurrentModificationException * @throws ResourceNotFoundException * @throws TooManyTagsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future tagResourceAsync(final TagResourceRequest tagResourceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public TagResourceResult call() throws Exception { return tagResource(tagResourceRequest); } }); } /** *

* Associates a specific tag with a resource. A tag is a key-value pair that * adds as a metadata to a resource. For more information, see * Tagging your resources. *

* * @param tagResourceRequest * @return A Java Future object containing the response from the TagResource * service method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws ConcurrentModificationException * @throws ResourceNotFoundException * @throws TooManyTagsException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future tagResourceAsync(final TagResourceRequest tagResourceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public TagResourceResult call() throws Exception { TagResourceResult result = null; try { result = tagResource(tagResourceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(tagResourceRequest, result); return result; } }); } /** *

* Translates the input document from the source language to the target * language. This synchronous operation supports plain text or HTML for the * input document. TranslateDocument supports translations from * English to any supported language, and from any supported language to * English. Therefore, specify either the source language code or the target * language code as “en” (English). *

*

* TranslateDocument does not support language auto-detection. *

*

* If you set the Formality parameter, the request will fail if * the target language does not support formality. For a list of target * languages that support formality, see Setting formality. *

* * @param translateDocumentRequest * @return A Java Future object containing the response from the * TranslateDocument service method, as returned by Amazon * Translate. * @throws InvalidRequestException * @throws LimitExceededException * @throws TooManyRequestsException * @throws ResourceNotFoundException * @throws UnsupportedLanguagePairException * @throws InternalServerException * @throws ServiceUnavailableException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future translateDocumentAsync( final TranslateDocumentRequest translateDocumentRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public TranslateDocumentResult call() throws Exception { return translateDocument(translateDocumentRequest); } }); } /** *

* Translates the input document from the source language to the target * language. This synchronous operation supports plain text or HTML for the * input document. TranslateDocument supports translations from * English to any supported language, and from any supported language to * English. Therefore, specify either the source language code or the target * language code as “en” (English). *

*

* TranslateDocument does not support language auto-detection. *

*

* If you set the Formality parameter, the request will fail if * the target language does not support formality. For a list of target * languages that support formality, see Setting formality. *

* * @param translateDocumentRequest * @return A Java Future object containing the response from the * TranslateDocument service method, as returned by Amazon * Translate. * @throws InvalidRequestException * @throws LimitExceededException * @throws TooManyRequestsException * @throws ResourceNotFoundException * @throws UnsupportedLanguagePairException * @throws InternalServerException * @throws ServiceUnavailableException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future translateDocumentAsync( final TranslateDocumentRequest translateDocumentRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public TranslateDocumentResult call() throws Exception { TranslateDocumentResult result = null; try { result = translateDocument(translateDocumentRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(translateDocumentRequest, result); return result; } }); } /** *

* Translates input text from the source language to the target language. * For a list of available languages and language codes, see Supported languages. *

* * @param translateTextRequest * @return A Java Future object containing the response from the * TranslateText service method, as returned by Amazon Translate. * @throws InvalidRequestException * @throws TextSizeLimitExceededException * @throws TooManyRequestsException * @throws UnsupportedLanguagePairException * @throws DetectedLanguageLowConfidenceException * @throws ResourceNotFoundException * @throws InternalServerException * @throws ServiceUnavailableException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future translateTextAsync( final TranslateTextRequest translateTextRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public TranslateTextResult call() throws Exception { return translateText(translateTextRequest); } }); } /** *

* Translates input text from the source language to the target language. * For a list of available languages and language codes, see Supported languages. *

* * @param translateTextRequest * @return A Java Future object containing the response from the * TranslateText service method, as returned by Amazon Translate. * @throws InvalidRequestException * @throws TextSizeLimitExceededException * @throws TooManyRequestsException * @throws UnsupportedLanguagePairException * @throws DetectedLanguageLowConfidenceException * @throws ResourceNotFoundException * @throws InternalServerException * @throws ServiceUnavailableException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future translateTextAsync( final TranslateTextRequest translateTextRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public TranslateTextResult call() throws Exception { TranslateTextResult result = null; try { result = translateText(translateTextRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(translateTextRequest, result); return result; } }); } /** *

* Removes a specific tag associated with an Amazon Translate resource. For * more information, see * Tagging your resources. *

* * @param untagResourceRequest * @return A Java Future object containing the response from the * UntagResource service method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws ConcurrentModificationException * @throws ResourceNotFoundException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future untagResourceAsync( final UntagResourceRequest untagResourceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UntagResourceResult call() throws Exception { return untagResource(untagResourceRequest); } }); } /** *

* Removes a specific tag associated with an Amazon Translate resource. For * more information, see * Tagging your resources. *

* * @param untagResourceRequest * @return A Java Future object containing the response from the * UntagResource service method, as returned by Amazon Translate. * @throws InvalidParameterValueException * @throws ConcurrentModificationException * @throws ResourceNotFoundException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future untagResourceAsync( final UntagResourceRequest untagResourceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UntagResourceResult call() throws Exception { UntagResourceResult result = null; try { result = untagResource(untagResourceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(untagResourceRequest, result); return result; } }); } /** *

* Updates a previously created parallel data resource by importing a new * input file from Amazon S3. *

* * @param updateParallelDataRequest * @return A Java Future object containing the response from the * UpdateParallelData service method, as returned by Amazon * Translate. * @throws ConcurrentModificationException * @throws InvalidParameterValueException * @throws InvalidRequestException * @throws LimitExceededException * @throws TooManyRequestsException * @throws ConflictException * @throws ResourceNotFoundException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future updateParallelDataAsync( final UpdateParallelDataRequest updateParallelDataRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateParallelDataResult call() throws Exception { return updateParallelData(updateParallelDataRequest); } }); } /** *

* Updates a previously created parallel data resource by importing a new * input file from Amazon S3. *

* * @param updateParallelDataRequest * @return A Java Future object containing the response from the * UpdateParallelData service method, as returned by Amazon * Translate. * @throws ConcurrentModificationException * @throws InvalidParameterValueException * @throws InvalidRequestException * @throws LimitExceededException * @throws TooManyRequestsException * @throws ConflictException * @throws ResourceNotFoundException * @throws InternalServerException * @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by Amazon * Translate indicating either a problem with the data in the * request, or a server side issue. */ public Future updateParallelDataAsync( final UpdateParallelDataRequest updateParallelDataRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateParallelDataResult call() throws Exception { UpdateParallelDataResult result = null; try { result = updateParallelData(updateParallelDataRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateParallelDataRequest, result); return result; } }); } }