• Print  |
  • Feedback  |

FOCUS AREAS

Developer Resources

Products

Technologies

API Reference

SAS AppDev Studio 3.0 Developer's Site

webAF Applet/Application Initialization Flow

When a webAF generated applet or application is built, certain bootstrapping code is generated to control the timing of its run-time initialization. This generated code follows the initialization flow that is defined in this document.

Frame constructor

When the applet or application's main frame is constructed, we create an instance of com.sas.security.SecurityGuard and then call its TrustVV() method to assert trusted privileges. The TrustVV() method then calls back to the frame's SecurityMethodVV() method, which creates and initializes the frame object from its serialized properties.

In the case of an application, the frame constructor then calls the frame's init() method. For applets, the init() method is invoked by the browser or applet viewer.

init()

Calls the frame's createComponents() method

Creates and initializes all of the local components from the frame's serialized stream.

Calls the frame's addComponents() method

Adds the initialized (visual) components to the frame.

Creates a com.sas.awt.WindowInitThread for the frame and calls start() on that thread.

This allows the remainder of the initialization to continue in a separate thread while the main thread renders the frame visuals.

 

com.sas.awt.WindowInitThread::start()

Inherited from java.awt.Thread. Simply calls run() on the thread.

com.sas.awt.WindowInitThread::run()

Continues initialization processing on behalf of the parent frame.

Calls its parent frame's createROCFComponents() method

Creates the remote object class factory and all remote connections. Once remote connections have been established, this method instantiates the run-time remote objects using properties set on the design-time objects.

Calls its parent frame's initConnections() method

Establishes all inter-component links and creates any event handlers that were defined at design time.

Calls its parent frame's postInit() method

Provides a hook for the user to add any final startup processing that might be required after the applet has initialized.