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

        if (obj instanceof UpdateMobileDeviceAccessRuleRequest == false)
            return false;
        UpdateMobileDeviceAccessRuleRequest other = (UpdateMobileDeviceAccessRuleRequest) obj;
        if (other.getOrganizationId() == null ^ this.getOrganizationId() == null)
            return false;
        if (other.getOrganizationId() != null && other.getOrganizationId().equals(this.getOrganizationId()) == false)
            return false;
        if (other.getMobileDeviceAccessRuleId() == null ^ this.getMobileDeviceAccessRuleId() == null)
            return false;
        if (other.getMobileDeviceAccessRuleId() != null && other.getMobileDeviceAccessRuleId().equals(this.getMobileDeviceAccessRuleId()) == false)
            return false;
        if (other.getName() == null ^ this.getName() == null)
            return false;
        if (other.getName() != null && other.getName().equals(this.getName()) == 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.getEffect() == null ^ this.getEffect() == null)
            return false;
        if (other.getEffect() != null && other.getEffect().equals(this.getEffect()) == false)
            return false;
        if (other.getDeviceTypes() == null ^ this.getDeviceTypes() == null)
            return false;
        if (other.getDeviceTypes() != null && other.getDeviceTypes().equals(this.getDeviceTypes()) == false)
            return false;
        if (other.getNotDeviceTypes() == null ^ this.getNotDeviceTypes() == null)
            return false;
        if (other.getNotDeviceTypes() != null && other.getNotDeviceTypes().equals(this.getNotDeviceTypes()) == false)
            return false;
        if (other.getDeviceModels() == null ^ this.getDeviceModels() == null)
            return false;
        if (other.getDeviceModels() != null && other.getDeviceModels().equals(this.getDeviceModels()) == false)
            return false;
        if (other.getNotDeviceModels() == null ^ this.getNotDeviceModels() == null)
            return false;
        if (other.getNotDeviceModels() != null && other.getNotDeviceModels().equals(this.getNotDeviceModels()) == false)
            return false;
        if (other.getDeviceOperatingSystems() == null ^ this.getDeviceOperatingSystems() == null)
            return false;
        if (other.getDeviceOperatingSystems() != null && other.getDeviceOperatingSystems().equals(this.getDeviceOperatingSystems()) == false)
            return false;
        if (other.getNotDeviceOperatingSystems() == null ^ this.getNotDeviceOperatingSystems() == null)
            return false;
        if (other.getNotDeviceOperatingSystems() != null && other.getNotDeviceOperatingSystems().equals(this.getNotDeviceOperatingSystems()) == false)
            return false;
        if (other.getDeviceUserAgents() == null ^ this.getDeviceUserAgents() == null)
            return false;
        if (other.getDeviceUserAgents() != null && other.getDeviceUserAgents().equals(this.getDeviceUserAgents()) == false)
            return false;
        if (other.getNotDeviceUserAgents() == null ^ this.getNotDeviceUserAgents() == null)
            return false;
        if (other.getNotDeviceUserAgents() != null && other.getNotDeviceUserAgents().equals(this.getNotDeviceUserAgents()) == 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-workmail/src/main/java/com/amazonaws/services/workmail/model/UpdateMobileDeviceAccessRuleRequest.java