The org.zkoss.zk.ui.util.Composer interface

From Documentation
Revision as of 02:29, 7 December 2010 by Char (talk | contribs)


The org.zkoss.zk.ui.util.Composer interface


Property:

org.zkoss.zk.ui.util.Composer interface


[since 5.0.1]

Composer is implemented by a listener class that can process the creation of ZK pages like a composer specified in the apply attribute. It is also known as system-level composers.

Each time a ZK page, including ZK pages and richlets, is created, ZK will instantiate one instance for each registered system-level composer and the invoke the doAfterCompose method with each root component. The system-level composer is usually used to post-process ZK pages, such as adding a trademark. If you want to process only certain pages, you can check the request path by calling Desktop.getRequestPath() (the desktop instance can be found thru the give component).

If the system-level composer also implements ComposerExt, it can be used to handle more situations, such as exceptions, like any other composer can do.

If the system-level composer also implements FullComposer, it will be invoked when each component is created. It provides the finest grain of control but a wrong implementation might degrade the performance.

Notice that since a new instance of the composer is created for each page, there is no threading issues.

Richlet
The system-level composers are applied to richlets too. In additions, a system-level composer can implement ComposerExt to handle exceptions for a richlet, such as doCatch and doFinally. However, doBeforeCompose and doBeforeComposeChildren won't be called.
FullComposer is not applicable to richlets. In other words, system-level composers are called only for the root components.



Last Update : 2010/12/07

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.