package org.bouncycastle.asn1;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public abstract class ASN1Encodable
implements DEREncodable
{
public byte[] getEncoded()
throws IOException
{
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
ASN1OutputStream aOut = new ASN1OutputStream(bOut);
aOut.writeObject(this);
return bOut.toByteArray();
}
public int hashCode()
{
return this.getDERObject().hashCode();
}
public boolean equals(
Object o)
{
if ((o == null) || !(o instanceof DEREncodable))
{
return false;
}
DEREncodable other = (DEREncodable)o;
return this.getDERObject().equals(other.getDERObject());
}
public DERObject getDERObject()
{
return this.toASN1Object();
}
public abstract DERObject toASN1Object();
}