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

        if (obj instanceof DirectConnectGatewayAttachment == false)
            return false;
        DirectConnectGatewayAttachment other = (DirectConnectGatewayAttachment) obj;
        if (other.getDirectConnectGatewayId() == null ^ this.getDirectConnectGatewayId() == null)
            return false;
        if (other.getDirectConnectGatewayId() != null && other.getDirectConnectGatewayId().equals(this.getDirectConnectGatewayId()) == false)
            return false;
        if (other.getVirtualInterfaceId() == null ^ this.getVirtualInterfaceId() == null)
            return false;
        if (other.getVirtualInterfaceId() != null && other.getVirtualInterfaceId().equals(this.getVirtualInterfaceId()) == false)
            return false;
        if (other.getVirtualInterfaceRegion() == null ^ this.getVirtualInterfaceRegion() == null)
            return false;
        if (other.getVirtualInterfaceRegion() != null && other.getVirtualInterfaceRegion().equals(this.getVirtualInterfaceRegion()) == false)
            return false;
        if (other.getVirtualInterfaceOwnerAccount() == null ^ this.getVirtualInterfaceOwnerAccount() == null)
            return false;
        if (other.getVirtualInterfaceOwnerAccount() != null && other.getVirtualInterfaceOwnerAccount().equals(this.getVirtualInterfaceOwnerAccount()) == false)
            return false;
        if (other.getAttachmentState() == null ^ this.getAttachmentState() == null)
            return false;
        if (other.getAttachmentState() != null && other.getAttachmentState().equals(this.getAttachmentState()) == false)
            return false;
        if (other.getAttachmentType() == null ^ this.getAttachmentType() == null)
            return false;
        if (other.getAttachmentType() != null && other.getAttachmentType().equals(this.getAttachmentType()) == false)
            return false;
        if (other.getStateChangeError() == null ^ this.getStateChangeError() == null)
            return false;
        if (other.getStateChangeError() != null && other.getStateChangeError().equals(this.getStateChangeError()) == 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-directconnect/src/main/java/com/amazonaws/services/directconnect/model/DirectConnectGatewayAttachment.java