public boolean equals()

in messages/src/main/java/com/epam/deltix/timebase/messages/qql/StatefulFunctionMessage.java [242:279]


  public boolean equals(Object obj) {
    if (this == obj) return true;
    boolean superEquals = super.equals(obj);
    if (!superEquals) return false;
    if (!(obj instanceof StatefulFunctionMessage)) return false;
    StatefulFunctionMessage other =(StatefulFunctionMessage)obj;
    if (hasId() != other.hasId()) return false;
    if (hasId()) {
      if (getId().length() != other.getId().length()) return false; else {
        CharSequence s1 = getId();
        CharSequence s2 = other.getId();
        if ((s1 instanceof MutableString && s2 instanceof MutableString) || (s1 instanceof String && s2 instanceof String) || (s1 instanceof BinaryAsciiString && s2 instanceof BinaryAsciiString)) {
          if (!s1.equals(s2)) return false;
        } else {
          if (!CharSequenceUtils.equals(s1, s2)) return false;
        }
      }
    }
    if (hasInitArguments() != other.hasInitArguments()) return false;
    if (hasInitArguments()) {
      if (getInitArguments().size() != other.getInitArguments().size()) return false;
      else for (int j = 0; j < getInitArguments().size(); ++j) {
        if ((getInitArguments().get(j) != null) != (other.getInitArguments().get(j) != null)) return false;
        if (getInitArguments().get(j) != null && !getInitArguments().get(j).equals(other.getInitArguments().get(j))) return false;
      }
    }
    if (hasArguments() != other.hasArguments()) return false;
    if (hasArguments()) {
      if (getArguments().size() != other.getArguments().size()) return false;
      else for (int j = 0; j < getArguments().size(); ++j) {
        if ((getArguments().get(j) != null) != (other.getArguments().get(j) != null)) return false;
        if (getArguments().get(j) != null && !getArguments().get(j).equals(other.getArguments().get(j))) return false;
      }
    }
    if (hasReturnType() != other.hasReturnType()) return false;
    if (hasReturnType() && !(getReturnType().equals(other.getReturnType()))) return false;
    return true;
  }