Ada-Java Interfacing Suite

The Ada-Java Interfacing Suite (AJIS) is a collection of GNAT add-on tools for combining native Ada code with Java applications that run on a Java Virtual Machine (JVM). Through these tools you can call natively-compiled Ada from Java, and call Java from native Ada programs. This enterprise-oriented toolsuite lets Ada teams interoperate with companies and groups doing Java development, with an interfacing facility that is efficient and type safe.

Interfacing between Ada and Java has been simplified in Ada 2005 through a number of new language features. The Ada-Java Interfacing Suite takes full advantage of these features and thus allows users to engineer standards-compliant mixed Ada/Java systems.


  • Smooth and efficient interfacing
    • Makes Ada components available to Java developers
    • Makes Java classes available to Ada developers, for example:
      • Java graphical interface frameworks such as SWT, Swing, and Eclipse-RCP
      • The large supply of off-the-shelf Java components
  • Supported by standard AdaCore Integrated Development Environments
    • GNAT Programming Studio (GPS)
    • GNATbench Eclipse plug-in

Technical features

  • Allows calls from Ada to Java, and from Java to Ada
  • Provides an Ada binding to the low-level Java Native Interface (JNI) library
  • Provides an automated and type-safe binding generator from Ada to Java
    • Automates the generation of JNI “glue” code
    • Supports access to various Ada constructs from Java, including:
      • Subprograms, types, variables, and constants
      • Tagged types, with cross-language dispatching for Ada types extended in Java
    • Supports exception propagation through Ada and Java frames
  • Allows efficient implementation of Java native methods in Ada


A 2 part tutorial on AJIS by Daniel Bigelow (independent consultant

Part 1 of 2

Part 2 of 2