.. _About_This_Guide:

****************
About This Guide
****************

This guide describes the features and the use of GNAT-AJIS, the GNAT Ada-Java
Interfacing Suite that can be used with the GNAT
Ada development environment.

.. _What_This_Guide_Contains:

What This Guide Contains
~~~~~~~~~~~~~~~~~~~~~~~~

This guide contains the following chapters:


* 
  :ref:`Getting_Started_with_GNAT-AJIS`, describes how to set up your environment
  and illustrates the use of the GNAT-AJIS toolset

* 
  :ref:`Using_ada2java_to_Generate_Java_Classes`, describes how to use
  ``ada2java`` to generate Java classes that can be used as a ''thin
  binding'' to an Ada package specification.

* 
  :ref:`Mapping_Ada_to_Java`, describes how Ada features are mapped to Java by
  ``ada2java``.

* 
  :ref:`Advanced_ada2java_Topics`, describes some of the advanced aspects of
  the mapping of Ada to Java.

* 
  :ref:`Using_javastub_to_Generate_Ada_Package_Specifications`, describes how
  to use the ``javastub`` utility.

* 
  :ref:`Using_JNI_Directly`, describes how to write native methods in Ada with
  the same low-level style as in C.

.. _What_You_Should_Know_before_Reading_This_Guide:

What You Should Know before Reading This Guide
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Before reading this manual you should be familiar with the following:

* 
  The Ada programming language, and in particular the Ada 2005 Object-Oriented
  Programming and separate compilation enhancements (e.g., ``limited with``,
  interfaces) that facilitate interfacing between Ada and Java.

* 
  The *GNAT User Guide*

* 
  The Java programming language

It will also be useful if you have a basic knowledge of the following:

* 
  JNI (Java Native Interface), for example as described in *The Java Native
  Interface Programmer's Guide and Specification*, S. Liang, Addison-Wesley;
  1999.

