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

        if (obj instanceof GetComponentTypeResult == false)
            return false;
        GetComponentTypeResult other = (GetComponentTypeResult) obj;
        if (other.getWorkspaceId() == null ^ this.getWorkspaceId() == null)
            return false;
        if (other.getWorkspaceId() != null && other.getWorkspaceId().equals(this.getWorkspaceId()) == false)
            return false;
        if (other.getIsSingleton() == null ^ this.getIsSingleton() == null)
            return false;
        if (other.getIsSingleton() != null && other.getIsSingleton().equals(this.getIsSingleton()) == false)
            return false;
        if (other.getComponentTypeId() == null ^ this.getComponentTypeId() == null)
            return false;
        if (other.getComponentTypeId() != null && other.getComponentTypeId().equals(this.getComponentTypeId()) == 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.getPropertyDefinitions() == null ^ this.getPropertyDefinitions() == null)
            return false;
        if (other.getPropertyDefinitions() != null && other.getPropertyDefinitions().equals(this.getPropertyDefinitions()) == false)
            return false;
        if (other.getExtendsFrom() == null ^ this.getExtendsFrom() == null)
            return false;
        if (other.getExtendsFrom() != null && other.getExtendsFrom().equals(this.getExtendsFrom()) == false)
            return false;
        if (other.getFunctions() == null ^ this.getFunctions() == null)
            return false;
        if (other.getFunctions() != null && other.getFunctions().equals(this.getFunctions()) == false)
            return false;
        if (other.getCreationDateTime() == null ^ this.getCreationDateTime() == null)
            return false;
        if (other.getCreationDateTime() != null && other.getCreationDateTime().equals(this.getCreationDateTime()) == false)
            return false;
        if (other.getUpdateDateTime() == null ^ this.getUpdateDateTime() == null)
            return false;
        if (other.getUpdateDateTime() != null && other.getUpdateDateTime().equals(this.getUpdateDateTime()) == false)
            return false;
        if (other.getArn() == null ^ this.getArn() == null)
            return false;
        if (other.getArn() != null && other.getArn().equals(this.getArn()) == false)
            return false;
        if (other.getIsAbstract() == null ^ this.getIsAbstract() == null)
            return false;
        if (other.getIsAbstract() != null && other.getIsAbstract().equals(this.getIsAbstract()) == false)
            return false;
        if (other.getIsSchemaInitialized() == null ^ this.getIsSchemaInitialized() == null)
            return false;
        if (other.getIsSchemaInitialized() != null && other.getIsSchemaInitialized().equals(this.getIsSchemaInitialized()) == false)
            return false;
        if (other.getStatus() == null ^ this.getStatus() == null)
            return false;
        if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false)
            return false;
        if (other.getPropertyGroups() == null ^ this.getPropertyGroups() == null)
            return false;
        if (other.getPropertyGroups() != null && other.getPropertyGroups().equals(this.getPropertyGroups()) == false)
            return false;
        if (other.getSyncSource() == null ^ this.getSyncSource() == null)
            return false;
        if (other.getSyncSource() != null && other.getSyncSource().equals(this.getSyncSource()) == false)
            return false;
        if (other.getComponentTypeName() == null ^ this.getComponentTypeName() == null)
            return false;
        if (other.getComponentTypeName() != null && other.getComponentTypeName().equals(this.getComponentTypeName()) == false)
            return false;
        if (other.getCompositeComponentTypes() == null ^ this.getCompositeComponentTypes() == null)
            return false;
        if (other.getCompositeComponentTypes() != null && other.getCompositeComponentTypes().equals(this.getCompositeComponentTypes()) == 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-iottwinmaker/src/main/java/com/amazonaws/services/iottwinmaker/model/GetComponentTypeResult.java