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

        if (obj instanceof Patch == false)
            return false;
        Patch other = (Patch) obj;
        if (other.getId() == null ^ this.getId() == null)
            return false;
        if (other.getId() != null && other.getId().equals(this.getId()) == false)
            return false;
        if (other.getReleaseDate() == null ^ this.getReleaseDate() == null)
            return false;
        if (other.getReleaseDate() != null && other.getReleaseDate().equals(this.getReleaseDate()) == false)
            return false;
        if (other.getTitle() == null ^ this.getTitle() == null)
            return false;
        if (other.getTitle() != null && other.getTitle().equals(this.getTitle()) == 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.getContentUrl() == null ^ this.getContentUrl() == null)
            return false;
        if (other.getContentUrl() != null && other.getContentUrl().equals(this.getContentUrl()) == false)
            return false;
        if (other.getVendor() == null ^ this.getVendor() == null)
            return false;
        if (other.getVendor() != null && other.getVendor().equals(this.getVendor()) == false)
            return false;
        if (other.getProductFamily() == null ^ this.getProductFamily() == null)
            return false;
        if (other.getProductFamily() != null && other.getProductFamily().equals(this.getProductFamily()) == false)
            return false;
        if (other.getProduct() == null ^ this.getProduct() == null)
            return false;
        if (other.getProduct() != null && other.getProduct().equals(this.getProduct()) == false)
            return false;
        if (other.getClassification() == null ^ this.getClassification() == null)
            return false;
        if (other.getClassification() != null && other.getClassification().equals(this.getClassification()) == false)
            return false;
        if (other.getMsrcSeverity() == null ^ this.getMsrcSeverity() == null)
            return false;
        if (other.getMsrcSeverity() != null && other.getMsrcSeverity().equals(this.getMsrcSeverity()) == false)
            return false;
        if (other.getKbNumber() == null ^ this.getKbNumber() == null)
            return false;
        if (other.getKbNumber() != null && other.getKbNumber().equals(this.getKbNumber()) == false)
            return false;
        if (other.getMsrcNumber() == null ^ this.getMsrcNumber() == null)
            return false;
        if (other.getMsrcNumber() != null && other.getMsrcNumber().equals(this.getMsrcNumber()) == false)
            return false;
        if (other.getLanguage() == null ^ this.getLanguage() == null)
            return false;
        if (other.getLanguage() != null && other.getLanguage().equals(this.getLanguage()) == false)
            return false;
        if (other.getAdvisoryIds() == null ^ this.getAdvisoryIds() == null)
            return false;
        if (other.getAdvisoryIds() != null && other.getAdvisoryIds().equals(this.getAdvisoryIds()) == false)
            return false;
        if (other.getBugzillaIds() == null ^ this.getBugzillaIds() == null)
            return false;
        if (other.getBugzillaIds() != null && other.getBugzillaIds().equals(this.getBugzillaIds()) == false)
            return false;
        if (other.getCVEIds() == null ^ this.getCVEIds() == null)
            return false;
        if (other.getCVEIds() != null && other.getCVEIds().equals(this.getCVEIds()) == 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.getEpoch() == null ^ this.getEpoch() == null)
            return false;
        if (other.getEpoch() != null && other.getEpoch().equals(this.getEpoch()) == false)
            return false;
        if (other.getVersion() == null ^ this.getVersion() == null)
            return false;
        if (other.getVersion() != null && other.getVersion().equals(this.getVersion()) == false)
            return false;
        if (other.getRelease() == null ^ this.getRelease() == null)
            return false;
        if (other.getRelease() != null && other.getRelease().equals(this.getRelease()) == false)
            return false;
        if (other.getArch() == null ^ this.getArch() == null)
            return false;
        if (other.getArch() != null && other.getArch().equals(this.getArch()) == false)
            return false;
        if (other.getSeverity() == null ^ this.getSeverity() == null)
            return false;
        if (other.getSeverity() != null && other.getSeverity().equals(this.getSeverity()) == false)
            return false;
        if (other.getRepository() == null ^ this.getRepository() == null)
            return false;
        if (other.getRepository() != null && other.getRepository().equals(this.getRepository()) == 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-ssm/src/main/java/com/amazonaws/services/simplesystemsmanagement/model/Patch.java