class TypeDefAttribute extends TypeDefElementHeader {

    @Override
    public boolean equals(Object objectToCompare)
    {
        if (this == objectToCompare)
        {
            return true;
        }
        if (objectToCompare == null || getClass() != objectToCompare.getClass())
        {
            return false;
        }
        TypeDefAttribute that = (TypeDefAttribute) objectToCompare;
        return valuesMinCount == that.valuesMinCount &&
                valuesMaxCount == that.valuesMaxCount &&
                isIndexable == that.isIndexable &&
                isUnique == that.isUnique &&
                Objects.equals(attributeName, that.attributeName) &&
                Objects.equals(attributeType, that.attributeType) &&
                attributeStatus == that.attributeStatus &&
                Objects.equals(replacedByAttribute, that.replacedByAttribute) &&
                Objects.equals(attributeDescription, that.attributeDescription) &&
                Objects.equals(attributeDescriptionGUID, that.attributeDescriptionGUID) &&
                cardinality == that.cardinality &&
                Objects.equals(defaultValue, that.defaultValue) &&
                Objects.equals(externalStandardMappings, that.externalStandardMappings);
    }

    public  TypeDefAttribute();
    public  TypeDefAttribute(TypeDefAttribute template);

}