===== 6.5 Applet Component =====
The Applet Component contains an entry for each of the applets defined in this package. Applets are defined by implementing a non-abstract subclass, direct or indirect, of the **javacard.framework.Applet** class.[2] If no applets are defined, this component must not be present in this CAP file.
The Applet Component is described by the following variable-length structure:
The items in the **applet_component** structure are as follows:
**tag**
The tag item has the value **COMPONENT_Applet** (3).
**size**
The ******size****** item indicates the number of bytes in the **applet_component** structure, excluding the **tag** and ******size****** items. The value of the ******size****** item must be greater than zero.
**count**
The ****count**** item indicates the number of applets defined in this package. The value of the ****count**** item must be greater than zero.
**applets[]**
The **applets** item represents a table of variable-length structures each describing an applet defined in this package.
The items in each entry of the **applets** table are defined as follows:
** AID_length**
The **AID_length** item represents the number of bytes in the AID item. Valid values are between 5 and 16, inclusive.
** AID[]**
The **AID** item represents the Java Card platform name of the applet.
Each applet is assigned an AID conforming to the ISO 7816-5 standard ([[4.2_AID-based Naming| Section 4.2, AID-based Naming]]). The RID (first 5 bytes) of all of the applet AIDs must have the same value. In addition, the RID of each applet AIDs must have the same value as the RID of the package defined in this CAP file.
** install_method_offset**
The value of the **install_method_offset** item must be a 16-bit offset into the **info** item of the Method Component ([[6.9_Method Component| Section 6.9, Method Component]]). The item at that offset must be a method_**info** structure that represents the **static ****install(byte[],short,byte)****** method of the applet.[3] The ****install(byte[],short,byte)**** method must be defined in a class that extends the **javacard.framework.applet** class, directly or indirectly. The ****install(byte[],short,byte)**** method is called to initialize the applet.