1package org.bouncycastle.asn1.x500.style; 2 3import org.bouncycastle.asn1.x500.RDN; 4import org.bouncycastle.asn1.x500.X500Name; 5import org.bouncycastle.asn1.x500.X500NameStyle; 6 7/** 8 * Variation of BCStyle that insists on strict ordering for equality 9 * and hashCode comparisons 10 */ 11public class BCStrictStyle 12 extends BCStyle 13{ 14 public static final X500NameStyle INSTANCE = new BCStrictStyle(); 15 16 public boolean areEqual(X500Name name1, X500Name name2) 17 { 18 RDN[] rdns1 = name1.getRDNs(); 19 RDN[] rdns2 = name2.getRDNs(); 20 21 if (rdns1.length != rdns2.length) 22 { 23 return false; 24 } 25 26 for (int i = 0; i != rdns1.length; i++) 27 { 28 if (!rdnAreEqual(rdns1[i], rdns2[i])) 29 { 30 return false; 31 } 32 } 33 34 return true; 35 } 36} 37