This code contains the java module for swig1.1.

Installation:

- extract the tar file in the top SWIG directory.
- edit the makefile and change the paths to your java installation
- make
- make test

Notes:

- Pointers are passed around as (java) ints which are (c) longs. I did not
  use the SWIG pointer library, so there is no pointer typechecking.

- by default a 'char *' is interpreted as a String, you can use the typemap
  'char *BYTE' to pass a 'char *' as a byte array.

- java has no unsigned types, but the java types are normally larger than the
  equivelant c types.
  C		Java	JNI	JNI c type
  ========================================
  ulong		long	jlong	long long
  long		long	jlong	long long
  uint		int	jint	long
  int		int	jint	long
  ushort	short	jshort	short		// might overflow
  short		short	jshort	short		
  uchar		byte	jbyte	signed char	// might overflow
  char		byte	jbyte	signed char

- the option -shadow will create additional java classes that wrap structures
  and classes more natural.

To do:

- pointer typechecking
- swig documentation entries to javadoc entries
- it would be nice to mix hand written jni routines with swig generated
  routines. The %native directive however cannot be used with java, because
  we need full access to the function parameters inorder to generate a java
  native entry.

Known bugs:

- the generated wrapper code does not work with c++. The jni calling interface
  for c++ is not the same as the c calling interface.
- possible overflow for unsigned short and unsigned char.

Author:

  Harco de Hilster
  harcoh@caos.kun.nl
