| Class Summary | 
| BasicTypeWrapper | A class used to serialize basic type values (int, boolean,...). | 
| GoalFromJava | Represents a goal from Java, called through deterministicGoal | 
| GoalToExecute | A goal scheduled to execute in Prolog whenever possible | 
| InvisibleObject | Instances represent objects which are not serialized to/from Prolog, 
        and that are kept in a table by a Prolog engine | 
| IPClassObject | Represents a Java class object; avoids the need to use a full blown object specifier for the real
Java class object (a Class instance) on the Prolog side, by relying on the Java call-back mechanism to interpret the contents
of this object at callback time | 
| IPClassVariable | Represents a Java class variable; allow the Prolog side to conveniently refer any class variable | 
| MessageExecuting | Object to help coordinate a javaMessage execution in the Java side. | 
| MessageFromProlog | Represents a message from Prolog, performed by predicate javaMessage | 
| ObjectRegistry | Remembers a set of Java objects, allowing access to them by an (integer) ID | 
| OutputHandler | An object consuming input from a stream, analysing it and sending messages to a list 
of OutputListener objects; if a debugStream is provided it gets a copy of all the input read | 
| PrologOutputObjectStream | Vaguely similar to an ObjectOutputStream, but sends the total number of serialized bytes up front,
 so Prolog can keep grammar and socket reads separate without hanging for input. | 
| Recognizer | A simple pattern recognizor used in error detection. | 
| ResultFromJava | Used to serialize results for javaMessage | 
| ResultFromProlog | Used to serialize results for deterministicGoal | 
| VariableNode | TermModel node for a free Prolog variable. |