Interface AfterCompose

All Known Subinterfaces:
Macro, ShadowElement
All Known Implementing Classes:
HtmlMacroComponent, HtmlShadowElement

public interface AfterCompose
Implemented by a component if it wants to know when ZK loader created it. If this interface is implemented, afterCompose() is called, after ZK loader creates this component, all of its children, and assigns all properties defined in the ZUML page. It is so-called "compose".

On the other hand, BeforeCompose.beforeCompose() is called before any properties are set and before any child components are created.

It is similar to listen the onCreate event since it is called after all children are created. However, unlike onCreate, it is called in the Component Creation phase (rather than in an event listener). In other words, it is called before processing an event including onCreate events. Since no event processing thread is forked, the performance is a bit better.

A typical example is that macro components use this callback to create its children based on the macro URI.

If it is created manually, it is caller's job to invoke afterCompose().

AfterCompose has to be implemented as part of a component. On the other hand, Composer is an controller used to initialize a component.

Author:
tomyeh
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Invokes after ZK loader creates this component, initializes it and composes all its children, if any.
  • Method Details

    • afterCompose

      void afterCompose()
      Invokes after ZK loader creates this component, initializes it and composes all its children, if any.