/* * 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* 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* 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* 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.
*
* 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.
*
* 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.
*
* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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* 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; } }