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

        if (obj instanceof MsSmoothGroupSettings == false)
            return false;
        MsSmoothGroupSettings other = (MsSmoothGroupSettings) obj;
        if (other.getAcquisitionPointId() == null ^ this.getAcquisitionPointId() == null)
            return false;
        if (other.getAcquisitionPointId() != null && other.getAcquisitionPointId().equals(this.getAcquisitionPointId()) == false)
            return false;
        if (other.getAudioOnlyTimecodeControl() == null ^ this.getAudioOnlyTimecodeControl() == null)
            return false;
        if (other.getAudioOnlyTimecodeControl() != null && other.getAudioOnlyTimecodeControl().equals(this.getAudioOnlyTimecodeControl()) == false)
            return false;
        if (other.getCertificateMode() == null ^ this.getCertificateMode() == null)
            return false;
        if (other.getCertificateMode() != null && other.getCertificateMode().equals(this.getCertificateMode()) == false)
            return false;
        if (other.getConnectionRetryInterval() == null ^ this.getConnectionRetryInterval() == null)
            return false;
        if (other.getConnectionRetryInterval() != null && other.getConnectionRetryInterval().equals(this.getConnectionRetryInterval()) == false)
            return false;
        if (other.getDestination() == null ^ this.getDestination() == null)
            return false;
        if (other.getDestination() != null && other.getDestination().equals(this.getDestination()) == false)
            return false;
        if (other.getEventId() == null ^ this.getEventId() == null)
            return false;
        if (other.getEventId() != null && other.getEventId().equals(this.getEventId()) == false)
            return false;
        if (other.getEventIdMode() == null ^ this.getEventIdMode() == null)
            return false;
        if (other.getEventIdMode() != null && other.getEventIdMode().equals(this.getEventIdMode()) == false)
            return false;
        if (other.getEventStopBehavior() == null ^ this.getEventStopBehavior() == null)
            return false;
        if (other.getEventStopBehavior() != null && other.getEventStopBehavior().equals(this.getEventStopBehavior()) == false)
            return false;
        if (other.getFilecacheDuration() == null ^ this.getFilecacheDuration() == null)
            return false;
        if (other.getFilecacheDuration() != null && other.getFilecacheDuration().equals(this.getFilecacheDuration()) == false)
            return false;
        if (other.getFragmentLength() == null ^ this.getFragmentLength() == null)
            return false;
        if (other.getFragmentLength() != null && other.getFragmentLength().equals(this.getFragmentLength()) == false)
            return false;
        if (other.getInputLossAction() == null ^ this.getInputLossAction() == null)
            return false;
        if (other.getInputLossAction() != null && other.getInputLossAction().equals(this.getInputLossAction()) == false)
            return false;
        if (other.getNumRetries() == null ^ this.getNumRetries() == null)
            return false;
        if (other.getNumRetries() != null && other.getNumRetries().equals(this.getNumRetries()) == false)
            return false;
        if (other.getRestartDelay() == null ^ this.getRestartDelay() == null)
            return false;
        if (other.getRestartDelay() != null && other.getRestartDelay().equals(this.getRestartDelay()) == false)
            return false;
        if (other.getSegmentationMode() == null ^ this.getSegmentationMode() == null)
            return false;
        if (other.getSegmentationMode() != null && other.getSegmentationMode().equals(this.getSegmentationMode()) == false)
            return false;
        if (other.getSendDelayMs() == null ^ this.getSendDelayMs() == null)
            return false;
        if (other.getSendDelayMs() != null && other.getSendDelayMs().equals(this.getSendDelayMs()) == false)
            return false;
        if (other.getSparseTrackType() == null ^ this.getSparseTrackType() == null)
            return false;
        if (other.getSparseTrackType() != null && other.getSparseTrackType().equals(this.getSparseTrackType()) == false)
            return false;
        if (other.getStreamManifestBehavior() == null ^ this.getStreamManifestBehavior() == null)
            return false;
        if (other.getStreamManifestBehavior() != null && other.getStreamManifestBehavior().equals(this.getStreamManifestBehavior()) == false)
            return false;
        if (other.getTimestampOffset() == null ^ this.getTimestampOffset() == null)
            return false;
        if (other.getTimestampOffset() != null && other.getTimestampOffset().equals(this.getTimestampOffset()) == false)
            return false;
        if (other.getTimestampOffsetMode() == null ^ this.getTimestampOffsetMode() == null)
            return false;
        if (other.getTimestampOffsetMode() != null && other.getTimestampOffsetMode().equals(this.getTimestampOffsetMode()) == 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-medialive/src/main/java/com/amazonaws/services/medialive/model/MsSmoothGroupSettings.java