The signature for a Java BER encode method is as follows:
public int encode (Asn1BerEncodeBuffer buffer, boolean explicit) throws Asn1Exception
The buffer argument is a reference of an Asn1BerEncodeBuffer object that describes the buffer into which a message is being encoded. This must be created and initialized before calling any encode method. See the description of this class in the Java Run-Time Classes section for details on how this class is used.
The return value is the length in octets of the encoded message component. Unlike the C/C++ version, a negative value is never returned to indicate an encoding failure. That is handled by the exception mechanism. All ASN1C Java exceptions are derived from the Asn1Exception base class. See the section on exceptions for a complete list and description of the various exceptions that can be thrown.