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

        if (obj instanceof ScheduleEntry == false)
            return false;
        ScheduleEntry other = (ScheduleEntry) obj;
        if (other.getApproximateDurationSeconds() == null ^ this.getApproximateDurationSeconds() == null)
            return false;
        if (other.getApproximateDurationSeconds() != null && other.getApproximateDurationSeconds().equals(this.getApproximateDurationSeconds()) == false)
            return false;
        if (other.getApproximateStartTime() == null ^ this.getApproximateStartTime() == null)
            return false;
        if (other.getApproximateStartTime() != null && other.getApproximateStartTime().equals(this.getApproximateStartTime()) == 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.getAudiences() == null ^ this.getAudiences() == null)
            return false;
        if (other.getAudiences() != null && other.getAudiences().equals(this.getAudiences()) == false)
            return false;
        if (other.getChannelName() == null ^ this.getChannelName() == null)
            return false;
        if (other.getChannelName() != null && other.getChannelName().equals(this.getChannelName()) == false)
            return false;
        if (other.getLiveSourceName() == null ^ this.getLiveSourceName() == null)
            return false;
        if (other.getLiveSourceName() != null && other.getLiveSourceName().equals(this.getLiveSourceName()) == false)
            return false;
        if (other.getProgramName() == null ^ this.getProgramName() == null)
            return false;
        if (other.getProgramName() != null && other.getProgramName().equals(this.getProgramName()) == false)
            return false;
        if (other.getScheduleAdBreaks() == null ^ this.getScheduleAdBreaks() == null)
            return false;
        if (other.getScheduleAdBreaks() != null && other.getScheduleAdBreaks().equals(this.getScheduleAdBreaks()) == false)
            return false;
        if (other.getScheduleEntryType() == null ^ this.getScheduleEntryType() == null)
            return false;
        if (other.getScheduleEntryType() != null && other.getScheduleEntryType().equals(this.getScheduleEntryType()) == false)
            return false;
        if (other.getSourceLocationName() == null ^ this.getSourceLocationName() == null)
            return false;
        if (other.getSourceLocationName() != null && other.getSourceLocationName().equals(this.getSourceLocationName()) == false)
            return false;
        if (other.getVodSourceName() == null ^ this.getVodSourceName() == null)
            return false;
        if (other.getVodSourceName() != null && other.getVodSourceName().equals(this.getVodSourceName()) == 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-mediatailor/src/main/java/com/amazonaws/services/mediatailor/model/ScheduleEntry.java