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

        if (obj instanceof AthenaSourceConfig == false)
            return false;
        AthenaSourceConfig other = (AthenaSourceConfig) obj;
        if (other.getRoleArn() == null ^ this.getRoleArn() == null)
            return false;
        if (other.getRoleArn() != null && other.getRoleArn().equals(this.getRoleArn()) == false)
            return false;
        if (other.getDatabaseName() == null ^ this.getDatabaseName() == null)
            return false;
        if (other.getDatabaseName() != null && other.getDatabaseName().equals(this.getDatabaseName()) == false)
            return false;
        if (other.getDataCatalog() == null ^ this.getDataCatalog() == null)
            return false;
        if (other.getDataCatalog() != null && other.getDataCatalog().equals(this.getDataCatalog()) == false)
            return false;
        if (other.getTableName() == null ^ this.getTableName() == null)
            return false;
        if (other.getTableName() != null && other.getTableName().equals(this.getTableName()) == false)
            return false;
        if (other.getWorkGroupName() == null ^ this.getWorkGroupName() == null)
            return false;
        if (other.getWorkGroupName() != null && other.getWorkGroupName().equals(this.getWorkGroupName()) == false)
            return false;
        if (other.getS3ResultsPath() == null ^ this.getS3ResultsPath() == null)
            return false;
        if (other.getS3ResultsPath() != null && other.getS3ResultsPath().equals(this.getS3ResultsPath()) == false)
            return false;
        if (other.getBackTestConfiguration() == null ^ this.getBackTestConfiguration() == null)
            return false;
        if (other.getBackTestConfiguration() != null && other.getBackTestConfiguration().equals(this.getBackTestConfiguration()) == 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-lookoutmetrics/src/main/java/com/amazonaws/services/lookoutmetrics/model/AthenaSourceConfig.java