Information Object Set

NOTE: Information Object Set code generation is only done when the -tables option is selected.

This additional code is generated to support the processing required to verify table constraints which is intended for use only in compiler-generated code. Therefore, it is not necessary for the average user to understand the mappings in order to use the product. The information presented here is informative only to provide a better understanding of how the compiler handles table constraints.

Information Object code will be generated in a Java source file with a special class to hold the values. The name of the source file and class is of the following format:

   _<ModuleName>Values.java

In this definition, <ModuleName> would be replaced with the name of the ASN.1 module in which the Information Object Sets are defined.

Each Information Object Set specification causes a Java constant to be generated containing an array of Information Object values. Each object in the array is an instance of the equivalent Java class representing the corresponding ASN.1 information object

As of this writing, a static array is used to hold the objects, but this could be changed to something like a linked list or hash.

ASN.1 definition:

   <name> <ClassName> ::= { <Information Object1> | <Information Object2> }

Generated Java constants:

   public static final <ClassName> <name> =
      new <ClassName> {<Information Object1>, <Information Object1> };

For example, consider the following Information Object Set declaration for above ATTRIBUTE definition:

   SupportedAttributes ATTRIBUTE ::= { name | commonName }

This would result in the following Java constant being generated:

   public static final ATTRIBUTE[] SupportedAttributes =
      new ATTRIBUTE[] {
         _TestValues.name,
         _TestValues.commonName
   };