/* * 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.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *

* 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. *

*/ public class StartTextTranslationJobRequest extends AmazonWebServiceRequest implements Serializable { /** *

* The name of the batch translation job to be performed. *

*

* Constraints:
* Length: 1 - 256
* Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
*/ private String jobName; /** *

* Specifies the format and location of the input documents for the * translation job. *

*/ private InputDataConfig inputDataConfig; /** *

* Specifies the S3 folder to which your job output will be saved. *

*/ private OutputDataConfig outputDataConfig; /** *

* The Amazon Resource Name (ARN) of an AWS Identity Access and Management * (IAM) role that grants Amazon Translate read access to your input data. * For more information, see Identity and access management . *

*

* Constraints:
* Length: 20 - 2048
* Pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
*/ private String dataAccessRoleArn; /** *

* The language code of the input language. Specify the language if all * input documents share the same language. If you don't know the language * of the source files, or your input documents contains different source * languages, select auto. Amazon Translate auto detects the * source language for each input document. For a list of supported language * codes, see Supported languages. *

*

* Constraints:
* Length: 2 - 5
*/ private String sourceLanguageCode; /** *

* The target languages of the translation job. Enter up to 10 language * codes. Each input file is translated into each target language. *

*

* Each language code is 2 or 5 characters long. For a list of language * codes, see Supported languages. *

*/ private java.util.List targetLanguageCodes; /** *

* The name of a custom terminology resource to add to the translation job. * This resource lists examples source terms and the desired translation for * each term. *

*

* This parameter accepts only one custom terminology resource. *

*

* If you specify multiple target languages for the job, translate uses the * designated terminology for each requested target language that has an * entry for the source term in the terminology file. *

*

* For a list of available custom terminology resources, use the * ListTerminologies operation. *

*

* For more information, see Custom terminology. *

*/ private java.util.List terminologyNames; /** *

* The name of a parallel data resource to add to the translation job. This * resource consists of examples that show how you want segments of text to * be translated. If you specify multiple target languages for the job, the * parallel data file must include translations for all the target * languages. *

*

* When you add parallel data to a translation job, you create an Active * Custom Translation job. *

*

* This parameter accepts only one parallel data resource. *

* *

* Active Custom Translation jobs are priced at a higher rate than other * jobs that don't use parallel data. For more information, see Amazon Translate * pricing. *

*
*

* For a list of available parallel data resources, use the * ListParallelData operation. *

*

* For more information, see Customizing your translations with parallel data. *

*/ private java.util.List parallelDataNames; /** *

* A unique identifier for the request. This token is generated for you when * using the Amazon Translate SDK. *

*

* Constraints:
* Length: 1 - 64
* Pattern: ^[a-zA-Z0-9-]+$
*/ private String clientToken; /** *

* Settings to configure your translation output, including the option to * set the formality level of the output text and the option to mask profane * words and phrases. *

*/ private TranslationSettings settings; /** *

* The name of the batch translation job to be performed. *

*

* Constraints:
* Length: 1 - 256
* Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
* * @return

* The name of the batch translation job to be performed. *

*/ public String getJobName() { return jobName; } /** *

* The name of the batch translation job to be performed. *

*

* Constraints:
* Length: 1 - 256
* Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
* * @param jobName

* The name of the batch translation job to be performed. *

*/ public void setJobName(String jobName) { this.jobName = jobName; } /** *

* The name of the batch translation job to be performed. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 - 256
* Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
* * @param jobName

* The name of the batch translation job to be performed. *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withJobName(String jobName) { this.jobName = jobName; return this; } /** *

* Specifies the format and location of the input documents for the * translation job. *

* * @return

* Specifies the format and location of the input documents for the * translation job. *

*/ public InputDataConfig getInputDataConfig() { return inputDataConfig; } /** *

* Specifies the format and location of the input documents for the * translation job. *

* * @param inputDataConfig

* Specifies the format and location of the input documents for * the translation job. *

*/ public void setInputDataConfig(InputDataConfig inputDataConfig) { this.inputDataConfig = inputDataConfig; } /** *

* Specifies the format and location of the input documents for the * translation job. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param inputDataConfig

* Specifies the format and location of the input documents for * the translation job. *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withInputDataConfig(InputDataConfig inputDataConfig) { this.inputDataConfig = inputDataConfig; return this; } /** *

* Specifies the S3 folder to which your job output will be saved. *

* * @return

* Specifies the S3 folder to which your job output will be saved. *

*/ public OutputDataConfig getOutputDataConfig() { return outputDataConfig; } /** *

* Specifies the S3 folder to which your job output will be saved. *

* * @param outputDataConfig

* Specifies the S3 folder to which your job output will be * saved. *

*/ public void setOutputDataConfig(OutputDataConfig outputDataConfig) { this.outputDataConfig = outputDataConfig; } /** *

* Specifies the S3 folder to which your job output will be saved. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param outputDataConfig

* Specifies the S3 folder to which your job output will be * saved. *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withOutputDataConfig(OutputDataConfig outputDataConfig) { this.outputDataConfig = outputDataConfig; return this; } /** *

* The Amazon Resource Name (ARN) of an AWS Identity Access and Management * (IAM) role that grants Amazon Translate read access to your input data. * For more information, see Identity and access management . *

*

* Constraints:
* Length: 20 - 2048
* Pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
* * @return

* The Amazon Resource Name (ARN) of an AWS Identity Access and * Management (IAM) role that grants Amazon Translate read access to * your input data. For more information, see Identity and access management . *

*/ public String getDataAccessRoleArn() { return dataAccessRoleArn; } /** *

* The Amazon Resource Name (ARN) of an AWS Identity Access and Management * (IAM) role that grants Amazon Translate read access to your input data. * For more information, see Identity and access management . *

*

* Constraints:
* Length: 20 - 2048
* Pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
* * @param dataAccessRoleArn

* The Amazon Resource Name (ARN) of an AWS Identity Access and * Management (IAM) role that grants Amazon Translate read access * to your input data. For more information, see Identity and access management . *

*/ public void setDataAccessRoleArn(String dataAccessRoleArn) { this.dataAccessRoleArn = dataAccessRoleArn; } /** *

* The Amazon Resource Name (ARN) of an AWS Identity Access and Management * (IAM) role that grants Amazon Translate read access to your input data. * For more information, see Identity and access management . *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 20 - 2048
* Pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
* * @param dataAccessRoleArn

* The Amazon Resource Name (ARN) of an AWS Identity Access and * Management (IAM) role that grants Amazon Translate read access * to your input data. For more information, see Identity and access management . *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withDataAccessRoleArn(String dataAccessRoleArn) { this.dataAccessRoleArn = dataAccessRoleArn; return this; } /** *

* The language code of the input language. Specify the language if all * input documents share the same language. If you don't know the language * of the source files, or your input documents contains different source * languages, select auto. Amazon Translate auto detects the * source language for each input document. For a list of supported language * codes, see Supported languages. *

*

* Constraints:
* Length: 2 - 5
* * @return

* The language code of the input language. Specify the language if * all input documents share the same language. If you don't know * the language of the source files, or your input documents * contains different source languages, select auto. * Amazon Translate auto detects the source language for each input * document. For a list of supported language codes, see Supported languages. *

*/ public String getSourceLanguageCode() { return sourceLanguageCode; } /** *

* The language code of the input language. Specify the language if all * input documents share the same language. If you don't know the language * of the source files, or your input documents contains different source * languages, select auto. Amazon Translate auto detects the * source language for each input document. For a list of supported language * codes, see Supported languages. *

*

* Constraints:
* Length: 2 - 5
* * @param sourceLanguageCode

* The language code of the input language. Specify the language * if all input documents share the same language. If you don't * know the language of the source files, or your input documents * contains different source languages, select auto. * Amazon Translate auto detects the source language for each * input document. For a list of supported language codes, see Supported languages. *

*/ public void setSourceLanguageCode(String sourceLanguageCode) { this.sourceLanguageCode = sourceLanguageCode; } /** *

* The language code of the input language. Specify the language if all * input documents share the same language. If you don't know the language * of the source files, or your input documents contains different source * languages, select auto. Amazon Translate auto detects the * source language for each input document. For a list of supported language * codes, see Supported languages. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 2 - 5
* * @param sourceLanguageCode

* The language code of the input language. Specify the language * if all input documents share the same language. If you don't * know the language of the source files, or your input documents * contains different source languages, select auto. * Amazon Translate auto detects the source language for each * input document. For a list of supported language codes, see Supported languages. *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withSourceLanguageCode(String sourceLanguageCode) { this.sourceLanguageCode = sourceLanguageCode; return this; } /** *

* The target languages of the translation job. Enter up to 10 language * codes. Each input file is translated into each target language. *

*

* Each language code is 2 or 5 characters long. For a list of language * codes, see Supported languages. *

* * @return

* The target languages of the translation job. Enter up to 10 * language codes. Each input file is translated into each target * language. *

*

* Each language code is 2 or 5 characters long. For a list of * language codes, see Supported languages. *

*/ public java.util.List getTargetLanguageCodes() { return targetLanguageCodes; } /** *

* The target languages of the translation job. Enter up to 10 language * codes. Each input file is translated into each target language. *

*

* Each language code is 2 or 5 characters long. For a list of language * codes, see Supported languages. *

* * @param targetLanguageCodes

* The target languages of the translation job. Enter up to 10 * language codes. Each input file is translated into each target * language. *

*

* Each language code is 2 or 5 characters long. For a list of * language codes, see Supported languages. *

*/ public void setTargetLanguageCodes(java.util.Collection targetLanguageCodes) { if (targetLanguageCodes == null) { this.targetLanguageCodes = null; return; } this.targetLanguageCodes = new java.util.ArrayList(targetLanguageCodes); } /** *

* The target languages of the translation job. Enter up to 10 language * codes. Each input file is translated into each target language. *

*

* Each language code is 2 or 5 characters long. For a list of language * codes, see Supported languages. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param targetLanguageCodes

* The target languages of the translation job. Enter up to 10 * language codes. Each input file is translated into each target * language. *

*

* Each language code is 2 or 5 characters long. For a list of * language codes, see Supported languages. *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withTargetLanguageCodes(String... targetLanguageCodes) { if (getTargetLanguageCodes() == null) { this.targetLanguageCodes = new java.util.ArrayList(targetLanguageCodes.length); } for (String value : targetLanguageCodes) { this.targetLanguageCodes.add(value); } return this; } /** *

* The target languages of the translation job. Enter up to 10 language * codes. Each input file is translated into each target language. *

*

* Each language code is 2 or 5 characters long. For a list of language * codes, see Supported languages. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param targetLanguageCodes

* The target languages of the translation job. Enter up to 10 * language codes. Each input file is translated into each target * language. *

*

* Each language code is 2 or 5 characters long. For a list of * language codes, see Supported languages. *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withTargetLanguageCodes( java.util.Collection targetLanguageCodes) { setTargetLanguageCodes(targetLanguageCodes); return this; } /** *

* The name of a custom terminology resource to add to the translation job. * This resource lists examples source terms and the desired translation for * each term. *

*

* This parameter accepts only one custom terminology resource. *

*

* If you specify multiple target languages for the job, translate uses the * designated terminology for each requested target language that has an * entry for the source term in the terminology file. *

*

* For a list of available custom terminology resources, use the * ListTerminologies operation. *

*

* For more information, see Custom terminology. *

* * @return

* The name of a custom terminology resource to add to the * translation job. This resource lists examples source terms and * the desired translation for each term. *

*

* This parameter accepts only one custom terminology resource. *

*

* If you specify multiple target languages for the job, translate * uses the designated terminology for each requested target * language that has an entry for the source term in the terminology * file. *

*

* For a list of available custom terminology resources, use the * ListTerminologies operation. *

*

* For more information, see Custom terminology. *

*/ public java.util.List getTerminologyNames() { return terminologyNames; } /** *

* The name of a custom terminology resource to add to the translation job. * This resource lists examples source terms and the desired translation for * each term. *

*

* This parameter accepts only one custom terminology resource. *

*

* If you specify multiple target languages for the job, translate uses the * designated terminology for each requested target language that has an * entry for the source term in the terminology file. *

*

* For a list of available custom terminology resources, use the * ListTerminologies operation. *

*

* For more information, see Custom terminology. *

* * @param terminologyNames

* The name of a custom terminology resource to add to the * translation job. This resource lists examples source terms and * the desired translation for each term. *

*

* This parameter accepts only one custom terminology resource. *

*

* If you specify multiple target languages for the job, * translate uses the designated terminology for each requested * target language that has an entry for the source term in the * terminology file. *

*

* For a list of available custom terminology resources, use the * ListTerminologies operation. *

*

* For more information, see Custom terminology. *

*/ public void setTerminologyNames(java.util.Collection terminologyNames) { if (terminologyNames == null) { this.terminologyNames = null; return; } this.terminologyNames = new java.util.ArrayList(terminologyNames); } /** *

* The name of a custom terminology resource to add to the translation job. * This resource lists examples source terms and the desired translation for * each term. *

*

* This parameter accepts only one custom terminology resource. *

*

* If you specify multiple target languages for the job, translate uses the * designated terminology for each requested target language that has an * entry for the source term in the terminology file. *

*

* For a list of available custom terminology resources, use the * ListTerminologies operation. *

*

* For more information, see Custom terminology. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param terminologyNames

* The name of a custom terminology resource to add to the * translation job. This resource lists examples source terms and * the desired translation for each term. *

*

* This parameter accepts only one custom terminology resource. *

*

* If you specify multiple target languages for the job, * translate uses the designated terminology for each requested * target language that has an entry for the source term in the * terminology file. *

*

* For a list of available custom terminology resources, use the * ListTerminologies operation. *

*

* For more information, see Custom terminology. *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withTerminologyNames(String... terminologyNames) { if (getTerminologyNames() == null) { this.terminologyNames = new java.util.ArrayList(terminologyNames.length); } for (String value : terminologyNames) { this.terminologyNames.add(value); } return this; } /** *

* The name of a custom terminology resource to add to the translation job. * This resource lists examples source terms and the desired translation for * each term. *

*

* This parameter accepts only one custom terminology resource. *

*

* If you specify multiple target languages for the job, translate uses the * designated terminology for each requested target language that has an * entry for the source term in the terminology file. *

*

* For a list of available custom terminology resources, use the * ListTerminologies operation. *

*

* For more information, see Custom terminology. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param terminologyNames

* The name of a custom terminology resource to add to the * translation job. This resource lists examples source terms and * the desired translation for each term. *

*

* This parameter accepts only one custom terminology resource. *

*

* If you specify multiple target languages for the job, * translate uses the designated terminology for each requested * target language that has an entry for the source term in the * terminology file. *

*

* For a list of available custom terminology resources, use the * ListTerminologies operation. *

*

* For more information, see Custom terminology. *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withTerminologyNames( java.util.Collection terminologyNames) { setTerminologyNames(terminologyNames); return this; } /** *

* The name of a parallel data resource to add to the translation job. This * resource consists of examples that show how you want segments of text to * be translated. If you specify multiple target languages for the job, the * parallel data file must include translations for all the target * languages. *

*

* When you add parallel data to a translation job, you create an Active * Custom Translation job. *

*

* This parameter accepts only one parallel data resource. *

* *

* Active Custom Translation jobs are priced at a higher rate than other * jobs that don't use parallel data. For more information, see Amazon Translate * pricing. *

*
*

* For a list of available parallel data resources, use the * ListParallelData operation. *

*

* For more information, see Customizing your translations with parallel data. *

* * @return

* The name of a parallel data resource to add to the translation * job. This resource consists of examples that show how you want * segments of text to be translated. If you specify multiple target * languages for the job, the parallel data file must include * translations for all the target languages. *

*

* When you add parallel data to a translation job, you create an * Active Custom Translation job. *

*

* This parameter accepts only one parallel data resource. *

* *

* Active Custom Translation jobs are priced at a higher rate than * other jobs that don't use parallel data. For more information, * see Amazon * Translate pricing. *

*
*

* For a list of available parallel data resources, use the * ListParallelData operation. *

*

* For more information, see Customizing your translations with parallel data. *

*/ public java.util.List getParallelDataNames() { return parallelDataNames; } /** *

* The name of a parallel data resource to add to the translation job. This * resource consists of examples that show how you want segments of text to * be translated. If you specify multiple target languages for the job, the * parallel data file must include translations for all the target * languages. *

*

* When you add parallel data to a translation job, you create an Active * Custom Translation job. *

*

* This parameter accepts only one parallel data resource. *

* *

* Active Custom Translation jobs are priced at a higher rate than other * jobs that don't use parallel data. For more information, see Amazon Translate * pricing. *

*
*

* For a list of available parallel data resources, use the * ListParallelData operation. *

*

* For more information, see Customizing your translations with parallel data. *

* * @param parallelDataNames

* The name of a parallel data resource to add to the translation * job. This resource consists of examples that show how you want * segments of text to be translated. If you specify multiple * target languages for the job, the parallel data file must * include translations for all the target languages. *

*

* When you add parallel data to a translation job, you create an * Active Custom Translation job. *

*

* This parameter accepts only one parallel data resource. *

* *

* Active Custom Translation jobs are priced at a higher rate * than other jobs that don't use parallel data. For more * information, see Amazon * Translate pricing. *

*
*

* For a list of available parallel data resources, use the * ListParallelData operation. *

*

* For more information, see Customizing your translations with parallel data. *

*/ public void setParallelDataNames(java.util.Collection parallelDataNames) { if (parallelDataNames == null) { this.parallelDataNames = null; return; } this.parallelDataNames = new java.util.ArrayList(parallelDataNames); } /** *

* The name of a parallel data resource to add to the translation job. This * resource consists of examples that show how you want segments of text to * be translated. If you specify multiple target languages for the job, the * parallel data file must include translations for all the target * languages. *

*

* When you add parallel data to a translation job, you create an Active * Custom Translation job. *

*

* This parameter accepts only one parallel data resource. *

* *

* Active Custom Translation jobs are priced at a higher rate than other * jobs that don't use parallel data. For more information, see Amazon Translate * pricing. *

*
*

* For a list of available parallel data resources, use the * ListParallelData operation. *

*

* For more information, see Customizing your translations with parallel data. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param parallelDataNames

* The name of a parallel data resource to add to the translation * job. This resource consists of examples that show how you want * segments of text to be translated. If you specify multiple * target languages for the job, the parallel data file must * include translations for all the target languages. *

*

* When you add parallel data to a translation job, you create an * Active Custom Translation job. *

*

* This parameter accepts only one parallel data resource. *

* *

* Active Custom Translation jobs are priced at a higher rate * than other jobs that don't use parallel data. For more * information, see Amazon * Translate pricing. *

*
*

* For a list of available parallel data resources, use the * ListParallelData operation. *

*

* For more information, see Customizing your translations with parallel data. *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withParallelDataNames(String... parallelDataNames) { if (getParallelDataNames() == null) { this.parallelDataNames = new java.util.ArrayList(parallelDataNames.length); } for (String value : parallelDataNames) { this.parallelDataNames.add(value); } return this; } /** *

* The name of a parallel data resource to add to the translation job. This * resource consists of examples that show how you want segments of text to * be translated. If you specify multiple target languages for the job, the * parallel data file must include translations for all the target * languages. *

*

* When you add parallel data to a translation job, you create an Active * Custom Translation job. *

*

* This parameter accepts only one parallel data resource. *

* *

* Active Custom Translation jobs are priced at a higher rate than other * jobs that don't use parallel data. For more information, see Amazon Translate * pricing. *

*
*

* For a list of available parallel data resources, use the * ListParallelData operation. *

*

* For more information, see Customizing your translations with parallel data. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param parallelDataNames

* The name of a parallel data resource to add to the translation * job. This resource consists of examples that show how you want * segments of text to be translated. If you specify multiple * target languages for the job, the parallel data file must * include translations for all the target languages. *

*

* When you add parallel data to a translation job, you create an * Active Custom Translation job. *

*

* This parameter accepts only one parallel data resource. *

* *

* Active Custom Translation jobs are priced at a higher rate * than other jobs that don't use parallel data. For more * information, see Amazon * Translate pricing. *

*
*

* For a list of available parallel data resources, use the * ListParallelData operation. *

*

* For more information, see Customizing your translations with parallel data. *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withParallelDataNames( java.util.Collection parallelDataNames) { setParallelDataNames(parallelDataNames); return this; } /** *

* A unique identifier for the request. This token is generated for you when * using the Amazon Translate SDK. *

*

* Constraints:
* Length: 1 - 64
* Pattern: ^[a-zA-Z0-9-]+$
* * @return

* A unique identifier for the request. This token is generated for * you when using the Amazon Translate SDK. *

*/ public String getClientToken() { return clientToken; } /** *

* A unique identifier for the request. This token is generated for you when * using the Amazon Translate SDK. *

*

* Constraints:
* Length: 1 - 64
* Pattern: ^[a-zA-Z0-9-]+$
* * @param clientToken

* A unique identifier for the request. This token is generated * for you when using the Amazon Translate SDK. *

*/ public void setClientToken(String clientToken) { this.clientToken = clientToken; } /** *

* A unique identifier for the request. This token is generated for you when * using the Amazon Translate SDK. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 - 64
* Pattern: ^[a-zA-Z0-9-]+$
* * @param clientToken

* A unique identifier for the request. This token is generated * for you when using the Amazon Translate SDK. *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withClientToken(String clientToken) { this.clientToken = clientToken; return this; } /** *

* Settings to configure your translation output, including the option to * set the formality level of the output text and the option to mask profane * words and phrases. *

* * @return

* Settings to configure your translation output, including the * option to set the formality level of the output text and the * option to mask profane words and phrases. *

*/ public TranslationSettings getSettings() { return settings; } /** *

* Settings to configure your translation output, including the option to * set the formality level of the output text and the option to mask profane * words and phrases. *

* * @param settings

* Settings to configure your translation output, including the * option to set the formality level of the output text and the * option to mask profane words and phrases. *

*/ public void setSettings(TranslationSettings settings) { this.settings = settings; } /** *

* Settings to configure your translation output, including the option to * set the formality level of the output text and the option to mask profane * words and phrases. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param settings

* Settings to configure your translation output, including the * option to set the formality level of the output text and the * option to mask profane words and phrases. *

* @return A reference to this updated object so that method calls can be * chained together. */ public StartTextTranslationJobRequest withSettings(TranslationSettings settings) { this.settings = settings; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getJobName() != null) sb.append("JobName: " + getJobName() + ","); if (getInputDataConfig() != null) sb.append("InputDataConfig: " + getInputDataConfig() + ","); if (getOutputDataConfig() != null) sb.append("OutputDataConfig: " + getOutputDataConfig() + ","); if (getDataAccessRoleArn() != null) sb.append("DataAccessRoleArn: " + getDataAccessRoleArn() + ","); if (getSourceLanguageCode() != null) sb.append("SourceLanguageCode: " + getSourceLanguageCode() + ","); if (getTargetLanguageCodes() != null) sb.append("TargetLanguageCodes: " + getTargetLanguageCodes() + ","); if (getTerminologyNames() != null) sb.append("TerminologyNames: " + getTerminologyNames() + ","); if (getParallelDataNames() != null) sb.append("ParallelDataNames: " + getParallelDataNames() + ","); if (getClientToken() != null) sb.append("ClientToken: " + getClientToken() + ","); if (getSettings() != null) sb.append("Settings: " + getSettings()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getJobName() == null) ? 0 : getJobName().hashCode()); hashCode = prime * hashCode + ((getInputDataConfig() == null) ? 0 : getInputDataConfig().hashCode()); hashCode = prime * hashCode + ((getOutputDataConfig() == null) ? 0 : getOutputDataConfig().hashCode()); hashCode = prime * hashCode + ((getDataAccessRoleArn() == null) ? 0 : getDataAccessRoleArn().hashCode()); hashCode = prime * hashCode + ((getSourceLanguageCode() == null) ? 0 : getSourceLanguageCode().hashCode()); hashCode = prime * hashCode + ((getTargetLanguageCodes() == null) ? 0 : getTargetLanguageCodes().hashCode()); hashCode = prime * hashCode + ((getTerminologyNames() == null) ? 0 : getTerminologyNames().hashCode()); hashCode = prime * hashCode + ((getParallelDataNames() == null) ? 0 : getParallelDataNames().hashCode()); hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode()); hashCode = prime * hashCode + ((getSettings() == null) ? 0 : getSettings().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof StartTextTranslationJobRequest == false) return false; StartTextTranslationJobRequest other = (StartTextTranslationJobRequest) obj; if (other.getJobName() == null ^ this.getJobName() == null) return false; if (other.getJobName() != null && other.getJobName().equals(this.getJobName()) == false) return false; if (other.getInputDataConfig() == null ^ this.getInputDataConfig() == null) return false; if (other.getInputDataConfig() != null && other.getInputDataConfig().equals(this.getInputDataConfig()) == false) return false; if (other.getOutputDataConfig() == null ^ this.getOutputDataConfig() == null) return false; if (other.getOutputDataConfig() != null && other.getOutputDataConfig().equals(this.getOutputDataConfig()) == false) return false; if (other.getDataAccessRoleArn() == null ^ this.getDataAccessRoleArn() == null) return false; if (other.getDataAccessRoleArn() != null && other.getDataAccessRoleArn().equals(this.getDataAccessRoleArn()) == false) return false; if (other.getSourceLanguageCode() == null ^ this.getSourceLanguageCode() == null) return false; if (other.getSourceLanguageCode() != null && other.getSourceLanguageCode().equals(this.getSourceLanguageCode()) == false) return false; if (other.getTargetLanguageCodes() == null ^ this.getTargetLanguageCodes() == null) return false; if (other.getTargetLanguageCodes() != null && other.getTargetLanguageCodes().equals(this.getTargetLanguageCodes()) == false) return false; if (other.getTerminologyNames() == null ^ this.getTerminologyNames() == null) return false; if (other.getTerminologyNames() != null && other.getTerminologyNames().equals(this.getTerminologyNames()) == false) return false; if (other.getParallelDataNames() == null ^ this.getParallelDataNames() == null) return false; if (other.getParallelDataNames() != null && other.getParallelDataNames().equals(this.getParallelDataNames()) == false) return false; if (other.getClientToken() == null ^ this.getClientToken() == null) return false; if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false) return false; if (other.getSettings() == null ^ this.getSettings() == null) return false; if (other.getSettings() != null && other.getSettings().equals(this.getSettings()) == false) return false; return true; } }