1b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampackage org.bouncycastle.asn1; 2b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 3b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport java.io.IOException; 4b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport java.io.OutputStream; 5b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 6b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampublic class BEROutputStream 7b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam extends DEROutputStream 8b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam{ 9b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam public BEROutputStream( 10b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam OutputStream os) 11b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 12b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam super(os); 13b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 14b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 15b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam public void writeObject( 16b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam Object obj) 17b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam throws IOException 18b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 19b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam if (obj == null) 20b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 21b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam writeNull(); 22b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 234c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom else if (obj instanceof ASN1Primitive) 24b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 254c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom ((ASN1Primitive)obj).encode(this); 26b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 274c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom else if (obj instanceof ASN1Encodable) 28b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 294c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom ((ASN1Encodable)obj).toASN1Primitive().encode(this); 30b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 31b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam else 32b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 33b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam throw new IOException("object not BEREncodable"); 34b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 35b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 36b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam} 37