Doco Home Tools Home

Platypus Tools: Interface between BASE class and manipulation class

Variables declared in the BASE class

bo, type PONameBO
Business object which supports this presentation object
po, type PONameHTML
Enhydra's DOM model for PO we're generating code for
document, type Document
DOM Document at root of presentation DOM data structure
comms, type HttpPresentationComms
HttpPresentationComms object passed to run()
sessionData, type SessionData
Session data
presentationData, type KeywordValueTable
Section of session data reserved for presentation layer
debugData, type KeywordValueTable
Section of session data reserved for debug flags.
args, type KeywordValueTable
Name value pairs from query string
servedId, type String
Unique id number for this invocation of the page.
DEBUG, type boolean
Debugging flag
protoIdName, type HTMLElement
Variable to hold prototype node with ID attribute IdName. There is one of these variables for each prototype node with an ID attribute.

Methods and Constructors

The manipulation class is generated without a constructor method. When the manipulation class is invoked by the servlet engine, the constructor for the BASE class is invoked.

The constructor for the BASE class does the following:

  1. It initialises its variables, and does some other initialisation, such as invoking the BO class and reading the query string into a KeywordValueTable.
  2. It calls the manipulation class method manipulate(). This method should fill the DOM with the content to be served.
  3. If manipulate() throws a UserException, the BASE class catches it and calls AppTemplate.processUserException().
  4. If manipulate() throws an ApplicationException, the BASE class catches it and throws a HttpPresentationException.
  5. It tidies the DOM, and returns the HTML to be served to the servlet engine.