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:
- It initialises its variables, and does some other initialisation, such
as invoking the BO class and reading the query string into a KeywordValueTable.
- It calls the manipulation class method
manipulate()
. This
method should fill the DOM with the content to be served.
- If
manipulate()
throws a UserException, the BASE class
catches it and calls AppTemplate.processUserException()
.
- If
manipulate()
throws an ApplicationException, the BASE class
catches it and throws a HttpPresentationException.
- It tidies the DOM, and returns the HTML to be served to the servlet
engine.