16e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrompackage org.bouncycastle.util.io.pem; 26e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 36e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrompublic class PemHeader 46e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom{ 56e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom private String name; 66e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom private String value; 76e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 86e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom public PemHeader(String name, String value) 96e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 106e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom this.name = name; 116e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom this.value = value; 126e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 136e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 146e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom public String getName() 156e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 166e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom return name; 176e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 186e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 196e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom public String getValue() 206e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 216e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom return value; 226e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 236e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 246e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom public int hashCode() 256e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 266e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom return getHashCode(this.name) + 31 * getHashCode(this.value); 276e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 286e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 296e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom public boolean equals(Object o) 306e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 316e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom if (!(o instanceof PemHeader)) 326e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 336e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom return false; 346e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 356e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 366e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom PemHeader other = (PemHeader)o; 376e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 386e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom return other == this || (isEqual(this.name, other.name) && isEqual(this.value, other.value)); 396e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 406e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 416e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom private int getHashCode(String s) 426e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 436e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom if (s == null) 446e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 456e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom return 1; 466e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 476e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 486e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom return s.hashCode(); 496e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 506e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 516e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom private boolean isEqual(String s1, String s2) 526e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 536e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom if (s1 == s2) 546e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 556e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom return true; 566e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 576e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 586e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom if (s1 == null || s2 == null) 596e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom { 606e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom return false; 616e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 626e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 636e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom return s1.equals(s2); 646e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom } 656e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom 666e736056d64d0e33b26cf9f7c4e351b496241fdeBrian Carlstrom} 67