public boolean equals()

in messages/src/main/java/com/epam/deltix/timebase/messages/schema/StreamMessage.java [294:353]


  public boolean equals(Object obj) {
    if (this == obj) return true;
    boolean superEquals = super.equals(obj);
    if (!superEquals) return false;
    if (!(obj instanceof StreamMessage)) return false;
    StreamMessage other =(StreamMessage)obj;
    if (hasKey() != other.hasKey()) return false;
    if (hasKey()) {
      if (getKey().length() != other.getKey().length()) return false; else {
        CharSequence s1 = getKey();
        CharSequence s2 = other.getKey();
        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 (hasName() != other.hasName()) return false;
    if (hasName()) {
      if (getName().length() != other.getName().length()) return false; else {
        CharSequence s1 = getName();
        CharSequence s2 = other.getName();
        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 (hasDescription() != other.hasDescription()) return false;
    if (hasDescription()) {
      if (getDescription().length() != other.getDescription().length()) return false; else {
        CharSequence s1 = getDescription();
        CharSequence s2 = other.getDescription();
        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 (hasTopTypes() != other.hasTopTypes()) return false;
    if (hasTopTypes()) {
      if (getTopTypes().size() != other.getTopTypes().size()) return false;
      else for (int j = 0; j < getTopTypes().size(); ++j) {
        if ((getTopTypes().get(j) != null) != (other.getTopTypes().get(j) != null)) return false;
        if (getTopTypes().get(j) != null && !getTopTypes().get(j).equals(other.getTopTypes().get(j))) return false;
      }
    }
    if (hasAllTypes() != other.hasAllTypes()) return false;
    if (hasAllTypes()) {
      if (getAllTypes().size() != other.getAllTypes().size()) return false;
      else for (int j = 0; j < getAllTypes().size(); ++j) {
        if ((getAllTypes().get(j) != null) != (other.getAllTypes().get(j) != null)) return false;
        if (getAllTypes().get(j) != null && !getAllTypes().get(j).equals(other.getAllTypes().get(j))) return false;
      }
    }
    return true;
  }