aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/javax/security/auth/x500/X500Principal.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/javax/security/auth/x500/X500Principal.java')
-rw-r--r--libjava/classpath/javax/security/auth/x500/X500Principal.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/libjava/classpath/javax/security/auth/x500/X500Principal.java b/libjava/classpath/javax/security/auth/x500/X500Principal.java
index 78c35ade157..fcbb4950a39 100644
--- a/libjava/classpath/javax/security/auth/x500/X500Principal.java
+++ b/libjava/classpath/javax/security/auth/x500/X500Principal.java
@@ -140,6 +140,22 @@ public final class X500Principal implements Principal, Serializable
// Instance methods.
// ------------------------------------------------------------------------
+ public int hashCode()
+ {
+ int result = size();
+ for (int i = 0; i < size(); ++i)
+ {
+ Map m = (Map) components.get(i);
+ for (Iterator it2 = m.entrySet().iterator(); it2.hasNext(); )
+ {
+ Map.Entry e = (Map.Entry) it2.next();
+ // We don't bother looking at the value of the entry.
+ result = result * 31 + ((OID) e.getKey()).hashCode();
+ }
+ }
+ return result;
+ }
+
public boolean equals(Object o)
{
if (!(o instanceof X500Principal))