Chapter 1. Introduction

Our main goal with Java-GNOME is to create Java classes that can be used by the developer in his Java program to create a GTK/GNOME application. We achieve this by creating Java wrapper classes that calls the GDK, GTK and GNOME libraries. Rather than handcoding each and every wrapper function the Java-GNOME team prefers creating the wrapper classes and JNI (Java Native Interface) code in an automagical way.

We try to do this by using three defs (Scheme) files as starting point. (You do not need to know Scheme at all). We then parse the files and generate the Java wrapper classes and JNI(C) code.

This document tries to explain the process of parsing the defs file and generating the appropriate files. It also gives details on the achitecture of Java-GNOME or how it is put together. This document was created for version 0.5 so may be out of date for other versions.

This is not an explenation of how JNI works but will (maybe) explain some of it's workings. See Javasoft for more detail on JNI, Java and other Java related stuff.

This was written by me (Jean van Wyk) as an atempt to understand the parsing code better. Hopefully this will help others. If you have any suggestion or improvements regarding this file contact me or any of the developers.

This document is a work in progress. You can get the latest copy at the Java-GNOME home page