/*
* Copyright 2012-2017 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.mturk.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
* <p>
* The QualificationType data structure represents a Qualification type, a description of a property of a Worker that
* must match the requirements of a HIT for the Worker to be able to accept the HIT. The type also describes how a
* Worker can obtain a Qualification of that type, such as through a Qualification test.
* </p>
*
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/QualificationType" target="_top">AWS
* API Documentation</a>
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class QualificationType implements Serializable, Cloneable, StructuredPojo {
/**
* <p>
* A unique identifier for the Qualification type. A Qualification type is given a Qualification type ID when you
* call the CreateQualificationType operation.
* </p>
*/
private String qualificationTypeId;
/**
* <p>
* The date and time the Qualification type was created.
* </p>
*/
private java.util.Date creationTime;
/**
* <p>
* The name of the Qualification type. The type name is used to identify the type, and to find the type using a
* Qualification type search.
* </p>
*/
private String name;
/**
* <p>
* A long description for the Qualification type.
* </p>
*/
private String description;
/**
* <p>
* One or more words or phrases that describe theQualification type, separated by commas. The Keywords make the type
* easier to find using a search.
* </p>
*/
private String keywords;
/**
* <p>
* The status of the Qualification type. A Qualification type's status determines if users can apply to receive a
* Qualification of this type, and if HITs can be created with requirements based on this type. Valid values are
* Active | Inactive.
* </p>
*/
private String qualificationTypeStatus;
/**
* <p>
* The questions for a Qualification test associated with this Qualification type that a user can take to obtain a
* Qualification of this type. This parameter must be specified if AnswerKey is present. A Qualification type cannot
* have both a specified Test parameter and an AutoGranted value of true.
* </p>
*/
private String test;
/**
* <p>
* The amount of time, in seconds, given to a Worker to complete the Qualification test, beginning from the time the
* Worker requests the Qualification.
* </p>
*/
private Long testDurationInSeconds;
/**
* <p>
* The answers to the Qualification test specified in the Test parameter.
* </p>
*/
private String answerKey;
/**
* <p>
* The amount of time, in seconds, Workers must wait after taking the Qualification test before they can take it
* again. Workers can take a Qualification test multiple times if they were not granted the Qualification from a
* previous attempt, or if the test offers a gradient score and they want a better score. If not specified, retries
* are disabled and Workers can request a Qualification only once.
* </p>
*/
private Long retryDelayInSeconds;
/**
* <p>
* Specifies whether the Qualification type is one that a user can request through the Amazon Mechanical Turk web
* site, such as by taking a Qualification test. This value is False for Qualifications assigned automatically by
* the system. Valid values are True | False.
* </p>
*/
private Boolean isRequestable;
/**
* <p>
* Specifies that requests for the Qualification type are granted immediately, without prompting the Worker with a
* Qualification test. Valid values are True | False.
* </p>
*/
private Boolean autoGranted;
/**
* <p>
* The Qualification integer value to use for automatically granted Qualifications, if AutoGranted is true. This is
* 1 by default.
* </p>
*/
private Integer autoGrantedValue;
/**
* <p>
* A unique identifier for the Qualification type. A Qualification type is given a Qualification type ID when you
* call the CreateQualificationType operation.
* </p>
*
* @param qualificationTypeId
* A unique identifier for the Qualification type. A Qualification type is given a Qualification type ID when
* you call the CreateQualificationType operation.
*/
public void setQualificationTypeId(String qualificationTypeId) {
this.qualificationTypeId = qualificationTypeId;
}
/**
* <p>
* A unique identifier for the Qualification type. A Qualification type is given a Qualification type ID when you
* call the CreateQualificationType operation.
* </p>
*
* @return A unique identifier for the Qualification type. A Qualification type is given a Qualification type ID
* when you call the CreateQualificationType operation.
*/
public String getQualificationTypeId() {
return this.qualificationTypeId;
}
/**
* <p>
* A unique identifier for the Qualification type. A Qualification type is given a Qualification type ID when you
* call the CreateQualificationType operation.
* </p>
*
* @param qualificationTypeId
* A unique identifier for the Qualification type. A Qualification type is given a Qualification type ID when
* you call the CreateQualificationType operation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public QualificationType withQualificationTypeId(String qualificationTypeId) {
setQualificationTypeId(qualificationTypeId);
return this;
}
/**
* <p>
* The date and time the Qualification type was created.
* </p>
*
* @param creationTime
* The date and time the Qualification type was created.
*/
public void setCreationTime(java.util.Date creationTime) {
this.creationTime = creationTime;
}
/**
* <p>
* The date and time the Qualification type was created.
* </p>
*
* @return The date and time the Qualification type was created.
*/
public java.util.Date getCreationTime() {
return this.creationTime;
}
/**
* <p>
* The date and time the Qualification type was created.
* </p>
*
* @param creationTime
* The date and time the Qualification type was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public QualificationType withCreationTime(java.util.Date creationTime) {
setCreationTime(creationTime);
return this;
}
/**
* <p>
* The name of the Qualification type. The type name is used to identify the type, and to find the type using a
* Qualification type search.
* </p>
*
* @param name
* The name of the Qualification type. The type name is used to identify the type, and to find the type using
* a Qualification type search.
*/
public void setName(String name) {
this.name = name;
}
/**
* <p>
* The name of the Qualification type. The type name is used to identify the type, and to find the type using a
* Qualification type search.
* </p>
*
* @return The name of the Qualification type. The type name is used to identify the type, and to find the type
* using a Qualification type search.
*/
public String getName() {
return this.name;
}
/**
* <p>
* The name of the Qualification type. The type name is used to identify the type, and to find the type using a
* Qualification type search.
* </p>
*
* @param name
* The name of the Qualification type. The type name is used to identify the type, and to find the type using
* a Qualification type search.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public QualificationType withName(String name) {
setName(name);
return this;
}
/**
* <p>
* A long description for the Qualification type.
* </p>
*
* @param description
* A long description for the Qualification type.
*/
public void setDescription(String description) {
this.description = description;
}
/**
* <p>
* A long description for the Qualification type.
* </p>
*
* @return A long description for the Qualification type.
*/
public String getDescription() {
return this.description;
}
/**
* <p>
* A long description for the Qualification type.
* </p>
*
* @param description
* A long description for the Qualification type.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public QualificationType withDescription(String description) {
setDescription(description);
return this;
}
/**
* <p>
* One or more words or phrases that describe theQualification type, separated by commas. The Keywords make the type
* easier to find using a search.
* </p>
*
* @param keywords
* One or more words or phrases that describe theQualification type, separated by commas. The Keywords make
* the type easier to find using a search.
*/
public void setKeywords(String keywords) {
this.keywords = keywords;
}
/**
* <p>
* One or more words or phrases that describe theQualification type, separated by commas. The Keywords make the type
* easier to find using a search.
* </p>
*
* @return One or more words or phrases that describe theQualification type, separated by commas. The Keywords make
* the type easier to find using a search.
*/
public String getKeywords() {
return this.keywords;
}
/**
* <p>
* One or more words or phrases that describe theQualification type, separated by commas. The Keywords make the type
* easier to find using a search.
* </p>
*
* @param keywords
* One or more words or phrases that describe theQualification type, separated by commas. The Keywords make
* the type easier to find using a search.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public QualificationType withKeywords(String keywords) {
setKeywords(keywords);
return this;
}
/**
* <p>
* The status of the Qualification type. A Qualification type's status determines if users can apply to receive a
* Qualification of this type, and if HITs can be created with requirements based on this type. Valid values are
* Active | Inactive.
* </p>
*
* @param qualificationTypeStatus
* The status of the Qualification type. A Qualification type's status determines if users can apply to
* receive a Qualification of this type, and if HITs can be created with requirements based on this type.
* Valid values are Active | Inactive.
* @see QualificationTypeStatus
*/
public void setQualificationTypeStatus(String qualificationTypeStatus) {
this.qualificationTypeStatus = qualificationTypeStatus;
}
/**
* <p>
* The status of the Qualification type. A Qualification type's status determines if users can apply to receive a
* Qualification of this type, and if HITs can be created with requirements based on this type. Valid values are
* Active | Inactive.
* </p>
*
* @return The status of the Qualification type. A Qualification type's status determines if users can apply to
* receive a Qualification of this type, and if HITs can be created with requirements based on this type.
* Valid values are Active | Inactive.
* @see QualificationTypeStatus
*/
public String getQualificationTypeStatus() {
return this.qualificationTypeStatus;
}
/**
* <p>
* The status of the Qualification type. A Qualification type's status determines if users can apply to receive a
* Qualification of this type, and if HITs can be created with requirements based on this type. Valid values are
* Active | Inactive.
* </p>
*
* @param qualificationTypeStatus
* The status of the Qualification type. A Qualification type's status determines if users can apply to
* receive a Qualification of this type, and if HITs can be created with requirements based on this type.
* Valid values are Active | Inactive.
* @return Returns a reference to this object so that method calls can be chained together.
* @see QualificationTypeStatus
*/
public QualificationType withQualificationTypeStatus(String qualificationTypeStatus) {
setQualificationTypeStatus(qualificationTypeStatus);
return this;
}
/**
* <p>
* The status of the Qualification type. A Qualification type's status determines if users can apply to receive a
* Qualification of this type, and if HITs can be created with requirements based on this type. Valid values are
* Active | Inactive.
* </p>
*
* @param qualificationTypeStatus
* The status of the Qualification type. A Qualification type's status determines if users can apply to
* receive a Qualification of this type, and if HITs can be created with requirements based on this type.
* Valid values are Active | Inactive.
* @see QualificationTypeStatus
*/
public void setQualificationTypeStatus(QualificationTypeStatus qualificationTypeStatus) {
this.qualificationTypeStatus = qualificationTypeStatus.toString();
}
/**
* <p>
* The status of the Qualification type. A Qualification type's status determines if users can apply to receive a
* Qualification of this type, and if HITs can be created with requirements based on this type. Valid values are
* Active | Inactive.
* </p>
*
* @param qualificationTypeStatus
* The status of the Qualification type. A Qualification type's status determines if users can apply to
* receive a Qualification of this type, and if HITs can be created with requirements based on this type.
* Valid values are Active | Inactive.
* @return Returns a reference to this object so that method calls can be chained together.
* @see QualificationTypeStatus
*/
public QualificationType withQualificationTypeStatus(QualificationTypeStatus qualificationTypeStatus) {
setQualificationTypeStatus(qualificationTypeStatus);
return this;
}
/**
* <p>
* The questions for a Qualification test associated with this Qualification type that a user can take to obtain a
* Qualification of this type. This parameter must be specified if AnswerKey is present. A Qualification type cannot
* have both a specified Test parameter and an AutoGranted value of true.
* </p>
*
* @param test
* The questions for a Qualification test associated with this Qualification type that a user can take to
* obtain a Qualification of this type. This parameter must be specified if AnswerKey is present. A
* Qualification type cannot have both a specified Test parameter and an AutoGranted value of true.
*/
public void setTest(String test) {
this.test = test;
}
/**
* <p>
* The questions for a Qualification test associated with this Qualification type that a user can take to obtain a
* Qualification of this type. This parameter must be specified if AnswerKey is present. A Qualification type cannot
* have both a specified Test parameter and an AutoGranted value of true.
* </p>
*
* @return The questions for a Qualification test associated with this Qualification type that a user can take to
* obtain a Qualification of this type. This parameter must be specified if AnswerKey is present. A
* Qualification type cannot have both a specified Test parameter and an AutoGranted value of true.
*/
public String getTest() {
return this.test;
}
/**
* <p>
* The questions for a Qualification test associated with this Qualification type that a user can take to obtain a
* Qualification of this type. This parameter must be specified if AnswerKey is present. A Qualification type cannot
* have both a specified Test parameter and an AutoGranted value of true.
* </p>
*
* @param test
* The questions for a Qualification test associated with this Qualification type that a user can take to
* obtain a Qualification of this type. This parameter must be specified if AnswerKey is present. A
* Qualification type cannot have both a specified Test parameter and an AutoGranted value of true.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public QualificationType withTest(String test) {
setTest(test);
return this;
}
/**
* <p>
* The amount of time, in seconds, given to a Worker to complete the Qualification test, beginning from the time the
* Worker requests the Qualification.
* </p>
*
* @param testDurationInSeconds
* The amount of time, in seconds, given to a Worker to complete the Qualification test, beginning from the
* time the Worker requests the Qualification.
*/
public void setTestDurationInSeconds(Long testDurationInSeconds) {
this.testDurationInSeconds = testDurationInSeconds;
}
/**
* <p>
* The amount of time, in seconds, given to a Worker to complete the Qualification test, beginning from the time the
* Worker requests the Qualification.
* </p>
*
* @return The amount of time, in seconds, given to a Worker to complete the Qualification test, beginning from the
* time the Worker requests the Qualification.
*/
public Long getTestDurationInSeconds() {
return this.testDurationInSeconds;
}
/**
* <p>
* The amount of time, in seconds, given to a Worker to complete the Qualification test, beginning from the time the
* Worker requests the Qualification.
* </p>
*
* @param testDurationInSeconds
* The amount of time, in seconds, given to a Worker to complete the Qualification test, beginning from the
* time the Worker requests the Qualification.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public QualificationType withTestDurationInSeconds(Long testDurationInSeconds) {
setTestDurationInSeconds(testDurationInSeconds);
return this;
}
/**
* <p>
* The answers to the Qualification test specified in the Test parameter.
* </p>
*
* @param answerKey
* The answers to the Qualification test specified in the Test parameter.
*/
public void setAnswerKey(String answerKey) {
this.answerKey = answerKey;
}
/**
* <p>
* The answers to the Qualification test specified in the Test parameter.
* </p>
*
* @return The answers to the Qualification test specified in the Test parameter.
*/
public String getAnswerKey() {
return this.answerKey;
}
/**
* <p>
* The answers to the Qualification test specified in the Test parameter.
* </p>
*
* @param answerKey
* The answers to the Qualification test specified in the Test parameter.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public QualificationType withAnswerKey(String answerKey) {
setAnswerKey(answerKey);
return this;
}
/**
* <p>
* The amount of time, in seconds, Workers must wait after taking the Qualification test before they can take it
* again. Workers can take a Qualification test multiple times if they were not granted the Qualification from a
* previous attempt, or if the test offers a gradient score and they want a better score. If not specified, retries
* are disabled and Workers can request a Qualification only once.
* </p>
*
* @param retryDelayInSeconds
* The amount of time, in seconds, Workers must wait after taking the Qualification test before they can take
* it again. Workers can take a Qualification test multiple times if they were not granted the Qualification
* from a previous attempt, or if the test offers a gradient score and they want a better score. If not
* specified, retries are disabled and Workers can request a Qualification only once.
*/
public void setRetryDelayInSeconds(Long retryDelayInSeconds) {
this.retryDelayInSeconds = retryDelayInSeconds;
}
/**
* <p>
* The amount of time, in seconds, Workers must wait after taking the Qualification test before they can take it
* again. Workers can take a Qualification test multiple times if they were not granted the Qualification from a
* previous attempt, or if the test offers a gradient score and they want a better score. If not specified, retries
* are disabled and Workers can request a Qualification only once.
* </p>
*
* @return The amount of time, in seconds, Workers must wait after taking the Qualification test before they can
* take it again. Workers can take a Qualification test multiple times if they were not granted the
* Qualification from a previous attempt, or if the test offers a gradient score and they want a better
* score. If not specified, retries are disabled and Workers can request a Qualification only once.
*/
public Long getRetryDelayInSeconds() {
return this.retryDelayInSeconds;
}
/**
* <p>
* The amount of time, in seconds, Workers must wait after taking the Qualification test before they can take it
* again. Workers can take a Qualification test multiple times if they were not granted the Qualification from a
* previous attempt, or if the test offers a gradient score and they want a better score. If not specified, retries
* are disabled and Workers can request a Qualification only once.
* </p>
*
* @param retryDelayInSeconds
* The amount of time, in seconds, Workers must wait after taking the Qualification test before they can take
* it again. Workers can take a Qualification test multiple times if they were not granted the Qualification
* from a previous attempt, or if the test offers a gradient score and they want a better score. If not
* specified, retries are disabled and Workers can request a Qualification only once.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public QualificationType withRetryDelayInSeconds(Long retryDelayInSeconds) {
setRetryDelayInSeconds(retryDelayInSeconds);
return this;
}
/**
* <p>
* Specifies whether the Qualification type is one that a user can request through the Amazon Mechanical Turk web
* site, such as by taking a Qualification test. This value is False for Qualifications assigned automatically by
* the system. Valid values are True | False.
* </p>
*
* @param isRequestable
* Specifies whether the Qualification type is one that a user can request through the Amazon Mechanical Turk
* web site, such as by taking a Qualification test. This value is False for Qualifications assigned
* automatically by the system. Valid values are True | False.
*/
public void setIsRequestable(Boolean isRequestable) {
this.isRequestable = isRequestable;
}
/**
* <p>
* Specifies whether the Qualification type is one that a user can request through the Amazon Mechanical Turk web
* site, such as by taking a Qualification test. This value is False for Qualifications assigned automatically by
* the system. Valid values are True | False.
* </p>
*
* @return Specifies whether the Qualification type is one that a user can request through the Amazon Mechanical
* Turk web site, such as by taking a Qualification test. This value is False for Qualifications assigned
* automatically by the system. Valid values are True | False.
*/
public Boolean getIsRequestable() {
return this.isRequestable;
}
/**
* <p>
* Specifies whether the Qualification type is one that a user can request through the Amazon Mechanical Turk web
* site, such as by taking a Qualification test. This value is False for Qualifications assigned automatically by
* the system. Valid values are True | False.
* </p>
*
* @param isRequestable
* Specifies whether the Qualification type is one that a user can request through the Amazon Mechanical Turk
* web site, such as by taking a Qualification test. This value is False for Qualifications assigned
* automatically by the system. Valid values are True | False.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public QualificationType withIsRequestable(Boolean isRequestable) {
setIsRequestable(isRequestable);
return this;
}
/**
* <p>
* Specifies whether the Qualification type is one that a user can request through the Amazon Mechanical Turk web
* site, such as by taking a Qualification test. This value is False for Qualifications assigned automatically by
* the system. Valid values are True | False.
* </p>
*
* @return Specifies whether the Qualification type is one that a user can request through the Amazon Mechanical
* Turk web site, such as by taking a Qualification test. This value is False for Qualifications assigned
* automatically by the system. Valid values are True | False.
*/
public Boolean isRequestable() {
return this.isRequestable;
}
/**
* <p>
* Specifies that requests for the Qualification type are granted immediately, without prompting the Worker with a
* Qualification test. Valid values are True | False.
* </p>
*
* @param autoGranted
* Specifies that requests for the Qualification type are granted immediately, without prompting the Worker
* with a Qualification test. Valid values are True | False.
*/
public void setAutoGranted(Boolean autoGranted) {
this.autoGranted = autoGranted;
}
/**
* <p>
* Specifies that requests for the Qualification type are granted immediately, without prompting the Worker with a
* Qualification test. Valid values are True | False.
* </p>
*
* @return Specifies that requests for the Qualification type are granted immediately, without prompting the Worker
* with a Qualification test. Valid values are True | False.
*/
public Boolean getAutoGranted() {
return this.autoGranted;
}
/**
* <p>
* Specifies that requests for the Qualification type are granted immediately, without prompting the Worker with a
* Qualification test. Valid values are True | False.
* </p>
*
* @param autoGranted
* Specifies that requests for the Qualification type are granted immediately, without prompting the Worker
* with a Qualification test. Valid values are True | False.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public QualificationType withAutoGranted(Boolean autoGranted) {
setAutoGranted(autoGranted);
return this;
}
/**
* <p>
* Specifies that requests for the Qualification type are granted immediately, without prompting the Worker with a
* Qualification test. Valid values are True | False.
* </p>
*
* @return Specifies that requests for the Qualification type are granted immediately, without prompting the Worker
* with a Qualification test. Valid values are True | False.
*/
public Boolean isAutoGranted() {
return this.autoGranted;
}
/**
* <p>
* The Qualification integer value to use for automatically granted Qualifications, if AutoGranted is true. This is
* 1 by default.
* </p>
*
* @param autoGrantedValue
* The Qualification integer value to use for automatically granted Qualifications, if AutoGranted is true.
* This is 1 by default.
*/
public void setAutoGrantedValue(Integer autoGrantedValue) {
this.autoGrantedValue = autoGrantedValue;
}
/**
* <p>
* The Qualification integer value to use for automatically granted Qualifications, if AutoGranted is true. This is
* 1 by default.
* </p>
*
* @return The Qualification integer value to use for automatically granted Qualifications, if AutoGranted is true.
* This is 1 by default.
*/
public Integer getAutoGrantedValue() {
return this.autoGrantedValue;
}
/**
* <p>
* The Qualification integer value to use for automatically granted Qualifications, if AutoGranted is true. This is
* 1 by default.
* </p>
*
* @param autoGrantedValue
* The Qualification integer value to use for automatically granted Qualifications, if AutoGranted is true.
* This is 1 by default.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public QualificationType withAutoGrantedValue(Integer autoGrantedValue) {
setAutoGrantedValue(autoGrantedValue);
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 (getQualificationTypeId() != null)
sb.append("QualificationTypeId: ").append(getQualificationTypeId()).append(",");
if (getCreationTime() != null)
sb.append("CreationTime: ").append(getCreationTime()).append(",");
if (getName() != null)
sb.append("Name: ").append(getName()).append(",");
if (getDescription() != null)
sb.append("Description: ").append(getDescription()).append(",");
if (getKeywords() != null)
sb.append("Keywords: ").append(getKeywords()).append(",");
if (getQualificationTypeStatus() != null)
sb.append("QualificationTypeStatus: ").append(getQualificationTypeStatus()).append(",");
if (getTest() != null)
sb.append("Test: ").append(getTest()).append(",");
if (getTestDurationInSeconds() != null)
sb.append("TestDurationInSeconds: ").append(getTestDurationInSeconds()).append(",");
if (getAnswerKey() != null)
sb.append("AnswerKey: ").append(getAnswerKey()).append(",");
if (getRetryDelayInSeconds() != null)
sb.append("RetryDelayInSeconds: ").append(getRetryDelayInSeconds()).append(",");
if (getIsRequestable() != null)
sb.append("IsRequestable: ").append(getIsRequestable()).append(",");
if (getAutoGranted() != null)
sb.append("AutoGranted: ").append(getAutoGranted()).append(",");
if (getAutoGrantedValue() != null)
sb.append("AutoGrantedValue: ").append(getAutoGrantedValue());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof QualificationType == false)
return false;
QualificationType other = (QualificationType) obj;
if (other.getQualificationTypeId() == null ^ this.getQualificationTypeId() == null)
return false;
if (other.getQualificationTypeId() != null && other.getQualificationTypeId().equals(this.getQualificationTypeId()) == false)
return false;
if (other.getCreationTime() == null ^ this.getCreationTime() == null)
return false;
if (other.getCreationTime() != null && other.getCreationTime().equals(this.getCreationTime()) == false)
return false;
if (other.getName() == null ^ this.getName() == null)
return false;
if (other.getName() != null && other.getName().equals(this.getName()) == false)
return false;
if (other.getDescription() == null ^ this.getDescription() == null)
return false;
if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false)
return false;
if (other.getKeywords() == null ^ this.getKeywords() == null)
return false;
if (other.getKeywords() != null && other.getKeywords().equals(this.getKeywords()) == false)
return false;
if (other.getQualificationTypeStatus() == null ^ this.getQualificationTypeStatus() == null)
return false;
if (other.getQualificationTypeStatus() != null && other.getQualificationTypeStatus().equals(this.getQualificationTypeStatus()) == false)
return false;
if (other.getTest() == null ^ this.getTest() == null)
return false;
if (other.getTest() != null && other.getTest().equals(this.getTest()) == false)
return false;
if (other.getTestDurationInSeconds() == null ^ this.getTestDurationInSeconds() == null)
return false;
if (other.getTestDurationInSeconds() != null && other.getTestDurationInSeconds().equals(this.getTestDurationInSeconds()) == false)
return false;
if (other.getAnswerKey() == null ^ this.getAnswerKey() == null)
return false;
if (other.getAnswerKey() != null && other.getAnswerKey().equals(this.getAnswerKey()) == false)
return false;
if (other.getRetryDelayInSeconds() == null ^ this.getRetryDelayInSeconds() == null)
return false;
if (other.getRetryDelayInSeconds() != null && other.getRetryDelayInSeconds().equals(this.getRetryDelayInSeconds()) == false)
return false;
if (other.getIsRequestable() == null ^ this.getIsRequestable() == null)
return false;
if (other.getIsRequestable() != null && other.getIsRequestable().equals(this.getIsRequestable()) == false)
return false;
if (other.getAutoGranted() == null ^ this.getAutoGranted() == null)
return false;
if (other.getAutoGranted() != null && other.getAutoGranted().equals(this.getAutoGranted()) == false)
return false;
if (other.getAutoGrantedValue() == null ^ this.getAutoGrantedValue() == null)
return false;
if (other.getAutoGrantedValue() != null && other.getAutoGrantedValue().equals(this.getAutoGrantedValue()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getQualificationTypeId() == null) ? 0 : getQualificationTypeId().hashCode());
hashCode = prime * hashCode + ((getCreationTime() == null) ? 0 : getCreationTime().hashCode());
hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode());
hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
hashCode = prime * hashCode + ((getKeywords() == null) ? 0 : getKeywords().hashCode());
hashCode = prime * hashCode + ((getQualificationTypeStatus() == null) ? 0 : getQualificationTypeStatus().hashCode());
hashCode = prime * hashCode + ((getTest() == null) ? 0 : getTest().hashCode());
hashCode = prime * hashCode + ((getTestDurationInSeconds() == null) ? 0 : getTestDurationInSeconds().hashCode());
hashCode = prime * hashCode + ((getAnswerKey() == null) ? 0 : getAnswerKey().hashCode());
hashCode = prime * hashCode + ((getRetryDelayInSeconds() == null) ? 0 : getRetryDelayInSeconds().hashCode());
hashCode = prime * hashCode + ((getIsRequestable() == null) ? 0 : getIsRequestable().hashCode());
hashCode = prime * hashCode + ((getAutoGranted() == null) ? 0 : getAutoGranted().hashCode());
hashCode = prime * hashCode + ((getAutoGrantedValue() == null) ? 0 : getAutoGrantedValue().hashCode());
return hashCode;
}
@Override
public QualificationType clone() {
try {
return (QualificationType) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.mturk.model.transform.QualificationTypeMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}