@Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;

        if (obj instanceof HyperParameterTrainingJobSummary == false)
            return false;
        HyperParameterTrainingJobSummary other = (HyperParameterTrainingJobSummary) obj;
        if (other.getTrainingJobDefinitionName() == null ^ this.getTrainingJobDefinitionName() == null)
            return false;
        if (other.getTrainingJobDefinitionName() != null && other.getTrainingJobDefinitionName().equals(this.getTrainingJobDefinitionName()) == false)
            return false;
        if (other.getTrainingJobName() == null ^ this.getTrainingJobName() == null)
            return false;
        if (other.getTrainingJobName() != null && other.getTrainingJobName().equals(this.getTrainingJobName()) == false)
            return false;
        if (other.getTrainingJobArn() == null ^ this.getTrainingJobArn() == null)
            return false;
        if (other.getTrainingJobArn() != null && other.getTrainingJobArn().equals(this.getTrainingJobArn()) == false)
            return false;
        if (other.getTuningJobName() == null ^ this.getTuningJobName() == null)
            return false;
        if (other.getTuningJobName() != null && other.getTuningJobName().equals(this.getTuningJobName()) == 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.getTrainingStartTime() == null ^ this.getTrainingStartTime() == null)
            return false;
        if (other.getTrainingStartTime() != null && other.getTrainingStartTime().equals(this.getTrainingStartTime()) == false)
            return false;
        if (other.getTrainingEndTime() == null ^ this.getTrainingEndTime() == null)
            return false;
        if (other.getTrainingEndTime() != null && other.getTrainingEndTime().equals(this.getTrainingEndTime()) == false)
            return false;
        if (other.getTrainingJobStatus() == null ^ this.getTrainingJobStatus() == null)
            return false;
        if (other.getTrainingJobStatus() != null && other.getTrainingJobStatus().equals(this.getTrainingJobStatus()) == false)
            return false;
        if (other.getTunedHyperParameters() == null ^ this.getTunedHyperParameters() == null)
            return false;
        if (other.getTunedHyperParameters() != null && other.getTunedHyperParameters().equals(this.getTunedHyperParameters()) == false)
            return false;
        if (other.getFailureReason() == null ^ this.getFailureReason() == null)
            return false;
        if (other.getFailureReason() != null && other.getFailureReason().equals(this.getFailureReason()) == false)
            return false;
        if (other.getFinalHyperParameterTuningJobObjectiveMetric() == null ^ this.getFinalHyperParameterTuningJobObjectiveMetric() == null)
            return false;
        if (other.getFinalHyperParameterTuningJobObjectiveMetric() != null
                && other.getFinalHyperParameterTuningJobObjectiveMetric().equals(this.getFinalHyperParameterTuningJobObjectiveMetric()) == false)
            return false;
        if (other.getObjectiveStatus() == null ^ this.getObjectiveStatus() == null)
            return false;
        if (other.getObjectiveStatus() != null && other.getObjectiveStatus().equals(this.getObjectiveStatus()) == false)
            return false;
        return true;
    }
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
redacted from this string using a placeholder value.

@return A string representation of this object.

@see java.lang.Object#toString()
aws-java-sdk-sagemaker/src/main/java/com/amazonaws/services/sagemaker/model/HyperParameterTrainingJobSummary.java