## Metagnostic home
| # JNIPort for Dolphin Smalltalk
Overview Contents Players Layers Examples Configuration InFAQ Changes Licence Back to Goodies | # JNIPort Documentation This page is just an index of all the JNIPort documentation. The order is arbitrary; someday I may impose some more useful structure on the list, but not today… None of this documentation is detailed or definitive; it is just a collection of introductions, examples, and overviews of the bits of JNIPort. As always with Smalltalk, you are invited to read the code (liberally commented — mostly — in open defiance of the current fad) for the details and the complete story.
Page | Description
--- | ---
Additional Wrapper Classes | A quick survey of the extra wrapper classes provided in the 'CU Java Additional Wrappers' package.
Calling from Java into Smalltalk | Description of JNIPort's facility for allowing Java to call back into Smalltalk.
An Example of Using Callbacks | This section is an example of using callbacks from Java into Smalltalk.
Examples | A summary of the examples included in this documentation.
Ghost Classes | Ghost classes are light-weight wrapper classes that are generated on demand, and then discarded when the Java runtime shuts down.
Documentation | This page!
Infrequently Asked Questions | A miscellany of observations and explanations that don't seem to fit anywhere else.
Example of Basic JNIPort | An example of using the lower-level facilities of Java Base to read a file from a ZIP archive.
Basic JNIPort | Discusses the fundamental concepts of JNIPort, which are implemented in package 'CU Java Base'.
The JNIHelper DLL | An external DLL that helps circumvent problems caused by the use of native threads in the Java runtime.
Type Names and Signatures | A description of the names used by low-level JNI and the JVM for types, methods, and fields. Not relevant if you are using the high level wrappers.
The Java Native Interface (JNI) | The lowest level of JNIPort which wraps, but does not embellish, the raw JNI APIs.
JVMs | Notes on which Java runtimes JNIPort has been tested with, and any JVM-specific problems.
Layers | A description of JNIPort in terms of the layers of software, with brief introductions to the function of each component.
Names of Generated Wrapper Methods | The wrapper generator uses a fixed naming convention for the methods it generates; this section describes the convention.
Overview | An overview of JNIPort, including a very simple example.
Players | Introduces the main players in the community of JNIPort objects and tries to explain something of how they interact.
Problems and Limitations | Notes on what I see as the weaknesses of JNIPort.
Configuring JNIPort | An over-brief description of the configuration options for JNIPort.
The Status Monitor | A GUI tool for displaying the status and activity of the Java runtime and JNIPort.
The Status Monitor's Status Page | A plug-in page for the Status Monitor that shows statistics about JNIPort.
The Status Monitor's Classes Page | A plug-in page for the Status Monitor that shows information about the Java classes that JNIPort has loaded.
The Status Monitor's History Page | A plug-in page for the Status Monitor that displays a histogram of JNIPort activity.
The Status Monitor's Console Page | A plug-in page for the Status Monitor that displays whatever text is sent to the Java console streams.
The Status Monitor's JVM Debug Page | A plug-in page for the Status Monitor that displays a trace of any debugging output from the Java runtime
The Problems with Threads | The problems caused by the mismatch between the ways that the Java runtime and Dolphin use operating system threads
A Walkthrough with JNIPort | A walkthrough of installing JNIPort and setting up couple of simple configurations.
Static Wrapper Classes | A short description of how to use custom wrapper classes.
Wrapper-class Example | An example of using ghost classes, or the statically-generated wrapper classes, to read a file from a ZIP archive.
Ghost Class Example | An example of using ghost classes to create and display a Swing window.
The Wrapper Wizard | The Wrapper Wizard is a GUI tool to help create wrapper classes.
Change History | A probably incomplete list of changes to the code.

Copyright © Chris Uppal, 2003-2005

Java, JNI (probably), JVM (possibly), and God knows what else, are trademarks of Sun Microsystems, Inc.