The ASN.1 Java Compiler Tools package consists of a compiler and a set of feature-rich runtime jar files. The compiler maps ASN.1 types into Java classes. The runtime library facilitate encode, decode and various other operations on application messages.
The ASN.1 Java Runtime Library is fully metadata-orient, all metadata are loaded at runtime, and freed after usage.
The ASN.1 Java Compiler generates type as primitive as possible, or plain old Java object (POJO), the mapping between ASN.1 types and Java classes is quite simple and intuitive, so you don't have to learn some special API in order to use these codes. Such minimize your time and effort to get familiar with the generated codes.
With scalable converter classes, message can be decoded even without message entity. Application can be customized to get callback when every component of message is been decoded.
Generates only type-safe Java classes and metadata for ASN.1 types, such minimize the codes generated, resulting a higher code reuse rate.
Some assumptions greatly improve the speed of encoding/decoding. Of course these assumptions also pose some limitations.
The ASN.1 Java runtime library are written completely in Java and can be run on almost any JVM, including smart phone, PDA, etc.
Because ASN.1 Java Compiler extent the ASN.1 Development Tools, it has all the limitations of ASN.1 Development Tools.
The tag number can't exceed 221-1 but for reasonable ASN.1 specifications this should not be a problem.
The length of enumerated items, bit string, octet string, components or alternatives can't exceed 231-1.
The value of INTEGER should be in range -263~263-1 (i.e.
Now support BigInteger in Java SE version.
BigIntegers are not supported).
The value of REAL is allways encoded/decoded in binary form, the precision should never exceed double type in Java (i.e.
BigDecimals are not supported).
SET OF value dynamic sort is not supported. It's recommended to use SEQUENCE OF type instead of SET OF type.
Continue to Getting started with the ASN.1 Java Compiler.