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

        if (obj instanceof ColumnMetadata == false)
            return false;
        ColumnMetadata other = (ColumnMetadata) obj;
        if (other.getName() == null ^ this.getName() == null)
            return false;
        if (other.getName() != null && other.getName().equals(this.getName()) == false)
            return false;
        if (other.getType() == null ^ this.getType() == null)
            return false;
        if (other.getType() != null && other.getType().equals(this.getType()) == false)
            return false;
        if (other.getTypeName() == null ^ this.getTypeName() == null)
            return false;
        if (other.getTypeName() != null && other.getTypeName().equals(this.getTypeName()) == false)
            return false;
        if (other.getLabel() == null ^ this.getLabel() == null)
            return false;
        if (other.getLabel() != null && other.getLabel().equals(this.getLabel()) == false)
            return false;
        if (other.getSchemaName() == null ^ this.getSchemaName() == null)
            return false;
        if (other.getSchemaName() != null && other.getSchemaName().equals(this.getSchemaName()) == 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.getIsAutoIncrement() == null ^ this.getIsAutoIncrement() == null)
            return false;
        if (other.getIsAutoIncrement() != null && other.getIsAutoIncrement().equals(this.getIsAutoIncrement()) == false)
            return false;
        if (other.getIsSigned() == null ^ this.getIsSigned() == null)
            return false;
        if (other.getIsSigned() != null && other.getIsSigned().equals(this.getIsSigned()) == false)
            return false;
        if (other.getIsCurrency() == null ^ this.getIsCurrency() == null)
            return false;
        if (other.getIsCurrency() != null && other.getIsCurrency().equals(this.getIsCurrency()) == false)
            return false;
        if (other.getIsCaseSensitive() == null ^ this.getIsCaseSensitive() == null)
            return false;
        if (other.getIsCaseSensitive() != null && other.getIsCaseSensitive().equals(this.getIsCaseSensitive()) == false)
            return false;
        if (other.getNullable() == null ^ this.getNullable() == null)
            return false;
        if (other.getNullable() != null && other.getNullable().equals(this.getNullable()) == false)
            return false;
        if (other.getPrecision() == null ^ this.getPrecision() == null)
            return false;
        if (other.getPrecision() != null && other.getPrecision().equals(this.getPrecision()) == false)
            return false;
        if (other.getScale() == null ^ this.getScale() == null)
            return false;
        if (other.getScale() != null && other.getScale().equals(this.getScale()) == false)
            return false;
        if (other.getArrayBaseColumnType() == null ^ this.getArrayBaseColumnType() == null)
            return false;
        if (other.getArrayBaseColumnType() != null && other.getArrayBaseColumnType().equals(this.getArrayBaseColumnType()) == 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-rdsdata/src/main/java/com/amazonaws/services/rdsdata/model/ColumnMetadata.java