package seqOfComplex;

/**
 * <ul>
 * <li> <b>IDL Source</b>    "seqOfComplexTest.idl"
 * <li> <b>IDL Name</b>      ::seqOfComplex::BasicStruct
 * <li> <b>Repository Id</b> IDL:seqOfComplex/BasicStruct:1.0
 * </ul>
 * <b>IDL definition:</b>
 * <pre>
 * struct BasicStruct {
  ...
};
 * </pre>
 */
public final class BasicStruct implements org.omg.CORBA.portable.IDLEntity {
  
  public int longVal;
  
  public java.lang.String stringVal;

  public BasicStruct () {
  }

  public BasicStruct (final int longVal, 
                      final java.lang.String stringVal) {
    this.longVal = longVal;
    this.stringVal = stringVal;
  }

  public java.lang.String toString() {
    final java.lang.StringBuffer _ret = new java.lang.StringBuffer("struct seqOfComplex.BasicStruct {");
    _ret.append("\n");
    _ret.append("int longVal=");
    _ret.append(longVal);
    _ret.append(",\n");
    _ret.append("java.lang.String stringVal=");
    _ret.append(stringVal != null?'\"' + stringVal + '\"':null);
    _ret.append("\n");
    _ret.append("}");
    return _ret.toString();
  }

  public boolean equals (java.lang.Object o) {
    if (this == o) return true;
    if (o == null) return false;

    if (o instanceof seqOfComplex.BasicStruct) {
      final seqOfComplex.BasicStruct obj = (seqOfComplex.BasicStruct)o;
      boolean res = true;
      do {
        res = this.longVal == obj.longVal;
        if (!res) break;
        res = this.stringVal == obj.stringVal ||
         (this.stringVal != null && obj.stringVal != null && this.stringVal.equals(obj.stringVal));
      } while (false);
      return res;
    }
    else {
      return false;
    }
  }
}
