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

        if (obj instanceof WaterfallChartConfiguration == false)
            return false;
        WaterfallChartConfiguration other = (WaterfallChartConfiguration) obj;
        if (other.getFieldWells() == null ^ this.getFieldWells() == null)
            return false;
        if (other.getFieldWells() != null && other.getFieldWells().equals(this.getFieldWells()) == false)
            return false;
        if (other.getSortConfiguration() == null ^ this.getSortConfiguration() == null)
            return false;
        if (other.getSortConfiguration() != null && other.getSortConfiguration().equals(this.getSortConfiguration()) == false)
            return false;
        if (other.getWaterfallChartOptions() == null ^ this.getWaterfallChartOptions() == null)
            return false;
        if (other.getWaterfallChartOptions() != null && other.getWaterfallChartOptions().equals(this.getWaterfallChartOptions()) == false)
            return false;
        if (other.getCategoryAxisLabelOptions() == null ^ this.getCategoryAxisLabelOptions() == null)
            return false;
        if (other.getCategoryAxisLabelOptions() != null && other.getCategoryAxisLabelOptions().equals(this.getCategoryAxisLabelOptions()) == false)
            return false;
        if (other.getCategoryAxisDisplayOptions() == null ^ this.getCategoryAxisDisplayOptions() == null)
            return false;
        if (other.getCategoryAxisDisplayOptions() != null && other.getCategoryAxisDisplayOptions().equals(this.getCategoryAxisDisplayOptions()) == false)
            return false;
        if (other.getPrimaryYAxisLabelOptions() == null ^ this.getPrimaryYAxisLabelOptions() == null)
            return false;
        if (other.getPrimaryYAxisLabelOptions() != null && other.getPrimaryYAxisLabelOptions().equals(this.getPrimaryYAxisLabelOptions()) == false)
            return false;
        if (other.getPrimaryYAxisDisplayOptions() == null ^ this.getPrimaryYAxisDisplayOptions() == null)
            return false;
        if (other.getPrimaryYAxisDisplayOptions() != null && other.getPrimaryYAxisDisplayOptions().equals(this.getPrimaryYAxisDisplayOptions()) == false)
            return false;
        if (other.getLegend() == null ^ this.getLegend() == null)
            return false;
        if (other.getLegend() != null && other.getLegend().equals(this.getLegend()) == false)
            return false;
        if (other.getDataLabels() == null ^ this.getDataLabels() == null)
            return false;
        if (other.getDataLabels() != null && other.getDataLabels().equals(this.getDataLabels()) == false)
            return false;
        if (other.getVisualPalette() == null ^ this.getVisualPalette() == null)
            return false;
        if (other.getVisualPalette() != null && other.getVisualPalette().equals(this.getVisualPalette()) == false)
            return false;
        if (other.getColorConfiguration() == null ^ this.getColorConfiguration() == null)
            return false;
        if (other.getColorConfiguration() != null && other.getColorConfiguration().equals(this.getColorConfiguration()) == false)
            return false;
        if (other.getInteractions() == null ^ this.getInteractions() == null)
            return false;
        if (other.getInteractions() != null && other.getInteractions().equals(this.getInteractions()) == 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-quicksight/src/main/java/com/amazonaws/services/quicksight/model/WaterfallChartConfiguration.java