While I wrote the original (lame) implementation of equals(), Rich Scheuerle wrote the more complicated (and more correct) version that is emitted today.
Rich? -- Tom Jordahl Macromedia Server Development -----Original Message----- From: Steve Loughran [mailto:[EMAIL PROTECTED]] Sent: Wednesday, December 18, 2002 3:39 PM To: axis-dev Subject: Q. about equals() in WSDL generated datatypes So I'm staring at the equals() method that's been generated for me from a datatype private java.lang.Object __equalsCalc = null; public synchronized boolean equals(java.lang.Object obj) { if (!(obj instanceof JobInfo)) return false; JobInfo other = (JobInfo) obj; if (obj == null) return false; if (this == obj) return true; if (__equalsCalc != null) { return (__equalsCalc == obj); } __equalsCalc = obj; ...tests __equalsCalc = null; return _equals; My q. is: what is all this __equalsCalc stuff? It implies that if there is a reentrant equality test then the test would return true while the test is ongoing, but since the method is synchronized, you'd be hard pressed to call equals() twice. Is that what the __equalsCalc is there for? To catch recursion? -steve