Specifying an Export Map

By specifying an export map, you can request the Converter to convert a package by using the tokens in the pre-defined export file of the package that is being converted. There are two distinct cases when using the -exportmap flag:

  • When the minor version of the package is the same as the version given in the export file (this case is called package reimplementation).

    During package reimplementation, the API of the package (exportable classes, interfaces, fields and methods) must remain the same.

  • When the minor version increases (package upgrading).

    During a package upgrade, changes that do not break binary compatibility with preexisting packages are allowed (see "Binary Compatibility" in the Java Card Platform Virtual Machine Specification, Classic Edition, Version 3.2).

For example, if you have developed a package and would like to reimplement a method (package reimplementation) or upgrade the package by adding new API elements (new exportable classes or new public or protected methods or fields to already existing exportable classes), you must use the -exportmap option to preserve binary compatibility with already existing packages that use your package.

To specify an export map:

  1. Set the -exportmap command option described in Converter Command Line Arguments when you run the Converter in the compact mode.

    The Converter loads the pre-defined export file in the same way that it loads other export files.

  2. Set the exportmap JSON field to true for each package from an extended CAP file, for which you want to preserve binary compatibility, in the extended mode.