1b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampackage org.bouncycastle.asn1;
2b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
3b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport java.io.IOException;
4b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
5b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam/**
6b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam * A NULL object.
7b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam */
8b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampublic abstract class ASN1Null
9c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom    extends ASN1Object
10b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam{
11b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    // BEGIN android-changed
12b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    /*package*/ ASN1Null()
13b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    {
14b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    }
15b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    // END android-changed
16b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
17b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    public int hashCode()
18b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    {
19c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom        return -1;
20b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    }
21b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
22c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom    boolean asn1Equals(
23c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom        DERObject o)
24b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    {
25c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom        if (!(o instanceof ASN1Null))
26b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        {
27b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam            return false;
28b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        }
29b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
30b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        return true;
31b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    }
32b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
33b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    abstract void encode(DEROutputStream out)
34b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam        throws IOException;
35b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam
36b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    public String toString()
37b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    {
38c37f4a04ef89e73a39a59f3c5a179af8c8ab5974Brian Carlstrom         return "NULL";
39b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam    }
40b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam}
41