diff options
Diffstat (limited to 'java/src/IceInternal/IndirectReference.java')
-rw-r--r-- | java/src/IceInternal/IndirectReference.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/java/src/IceInternal/IndirectReference.java b/java/src/IceInternal/IndirectReference.java index a1a563240cb..8c238f41f9f 100644 --- a/java/src/IceInternal/IndirectReference.java +++ b/java/src/IceInternal/IndirectReference.java @@ -273,6 +273,22 @@ public class IndirectReference extends RoutableReference return connection; } + public synchronized int + hashCode() + { + if(_hashInitialized) + { + return _hashValue; + } + super.hashCode(); // Initializes _hashValue. + int sz = _adapterId.length(); // Add hash of adapter ID to base hash. + for(int i = 0; i < sz; i++) + { + _hashValue = 5 * _hashValue + (int)_adapterId.charAt(i); + } + return _hashValue; + } + public boolean equals(java.lang.Object obj) { |