resolve darcs stupidity
[org.ibex.core.git] / src / org / bouncycastle / asn1 / x509 / X509Extension.java
1 package org.bouncycastle.asn1.x509;
2
3 import org.bouncycastle.asn1.*;
4
5 /**
6  * an object for the elements in the X.509 V3 extension block.
7  */
8 public class X509Extension
9 {
10     boolean             critical;
11     DEROctetString      value;
12
13     public X509Extension(
14         DERBoolean              critical,
15         DEROctetString          value)
16     {
17         this.critical = critical.isTrue();
18         this.value = value;
19     }
20
21     public X509Extension(
22         boolean                 critical,
23         DEROctetString          value)
24     {
25         this.critical = critical;
26         this.value = value;
27     }
28
29     public boolean isCritical()
30     {
31         return critical;
32     }
33
34     public DEROctetString getValue()
35     {
36         return value;
37     }
38
39     public int hashCode()
40     {
41         if (this.isCritical())
42         {
43             return this.getValue().hashCode();
44         }
45
46         
47         return ~this.getValue().hashCode();
48     }
49
50     public boolean equals(
51         Object  o)
52     {
53         if (o == null || !(o instanceof X509Extension))
54         {
55             return false;
56         }
57
58         X509Extension   other = (X509Extension)o;
59
60         return other.getValue().equals(this.getValue())
61             && (other.isCritical() == this.isCritical());
62     }
63 }