public boolean equals()

in broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Source.java [320:399]


    public boolean equals(final Object o)
    {
        if (this == o)
        {
            return true;
        }
        if (o == null || getClass() != o.getClass())
        {
            return false;
        }

        final Source source = (Source) o;

        if (_address != null ? !_address.equals(source._address) : source._address != null)
        {
            return false;
        }
        if (_durable != null ? !_durable.equals(source._durable) : source._durable != null)
        {
            return false;
        }
        if (_expiryPolicy != null ? !_expiryPolicy.equals(source._expiryPolicy) : source._expiryPolicy != null)
        {
            return false;
        }
        if (_timeout != null ? !_timeout.equals(source._timeout) : source._timeout != null)
        {
            return false;
        }
        if (_dynamic != null ? !_dynamic.equals(source._dynamic) : source._dynamic != null)
        {
            return false;
        }
        if (_dynamicNodeProperties != null
                ? !_dynamicNodeProperties.equals(source._dynamicNodeProperties)
                : source._dynamicNodeProperties != null)
        {
            return false;
        }
        if (_distributionMode != null
                ? !_distributionMode.equals(source._distributionMode)
                : source._distributionMode != null)
        {
            return false;
        }
        if (_filter != null ? !_filter.equals(source._filter) : source._filter != null)
        {
            return false;
        }
        if (_defaultOutcome != null)
        {
            if  (source._defaultOutcome == null)
            {
                return false;
            }

            if (_defaultOutcome.getSymbol() != null)
            {
                if (source._defaultOutcome.getSymbol() == null)
                {
                    return false;
                }

                if (!_defaultOutcome.getSymbol().equals(source._defaultOutcome.getSymbol()))
                {
                    return false;
                }
            }
            else if (source._defaultOutcome.getSymbol() != null)
            {
                return false;
            }
        }
        else if (source._defaultOutcome != null)
        {
            return false;
        }

        return Arrays.equals(_outcomes, source._outcomes) && Arrays.equals(_capabilities, source._capabilities);
    }