Doco Home Tools Home

Platypus Tools: Pond

Pond generates presentation layer Java code from the configuration files.

Pond's Inputs

Pond uses the information in the "developer's configuration" files. Currently, it does not invoke the DOM classes. (The relevant DOM classes should be complete before Pond is invoked, because they are needed for generating the skeleton "developer's configuration" files.)

Pond does not read in the entire "developer's configuration" - it only reads those sections which it needs. This is for efficiency reasons only.

Pond's Outputs

Pond generates two files. If invoked for a PO called Display, it will generate DisplayBASE.java and Display.java.

The DisplayBASE class is never explicitly invoked. It is only ever implicitly invoked, when the Display class is invoked. Theoretically, we could subsume the DisplayBASE class in the Display class.

However, the Display.java is to be hand-edited. We have extracted as much code as possible into DisplayBASE.java, so that the developer is working on the smallest possible file. The DisplayBASE.java is not hand-edited.

Major Classes

Pond
This is the class invoked by the Makefiles. It invokes the other classes where necessary, and generates much of the code itself, and looks after input & output.
Access
This class looks after code generation for accesses.
DynamicNode
This class looks after code generation for inserting values into a DOM node.
CodeTemplate
This is an HTML file which is compiled into a DOM class. It contains templates for the generated code. (Yes - Pond is an Enhydra app!)