Package org.zkoss.stateless.ui

## Class UiEngineExtension

- java.lang.Object
- - org.zkoss.stateless.ui.UiEngineExtension

- All Implemented Interfaces:
    `UiEngineImpl.Extension`

      public class UiEngineExtension
      extends java.lang.Object
      implements UiEngineImpl.Extension

  An implementation of `UiEngineImpl.Extension` to allow `IComponent` be merged.
  Author:
    jumperchen

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `UiEngineExtension()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `afterCreate​(Component[] comps)` | Called after the whole component tree has been created by this engine.
    `void` | `afterRenderComponents​(java.util.Collection comps)` | Called when this engine renders the given components.
    `void` | `afterRenderNewPage​(Page page)` | Called after a new page has been redrawn (`PageCtrl.redraw(java.io.Writer)` has been called).

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### UiEngineExtension

          public UiEngineExtension()

  - ### Method Detail

    - #### afterCreate

          public void afterCreate​(Component[] comps)

      Description copied from interface: `UiEngineImpl.Extension`
      Called after the whole component tree has been created by this engine.

      The implementation might implement this method to process the components, such as merging, if necessary.

      Specified by:
        `afterCreate` in interface `UiEngineImpl.Extension`
      Parameters:
        `comps` - the components being created. It is never null but it might be a zero-length array.

    - #### afterRenderComponents

          public void afterRenderComponents​(java.util.Collection comps)

      Description copied from interface: `UiEngineImpl.Extension`
      Called when this engine renders the given components. It is designed to be overridden if you'd like to alter the component and its children after they are rendered.
      Specified by:
        `afterRenderComponents` in interface `UiEngineImpl.Extension`
      Parameters:
        `comps` - the collection of components that have been redrawn.

    - #### afterRenderNewPage

          public void afterRenderNewPage​(Page page)

      Description copied from interface: `UiEngineImpl.Extension`
      Called after a new page has been redrawn (`PageCtrl.redraw(java.io.Writer)` has been called).

      Notice that it is called in the rendering phase (the last phase), so it is not allowed to post events or to invoke invalidate or smartUpdate in this method.

      Notice that it is not called if an old page is redrawn.

      The implementation shall process the components such as merging if necessary.

      Specified by:
        `afterRenderNewPage` in interface `UiEngineImpl.Extension`
      See Also:
        `UiEngineImpl.execNewPage(org.zkoss.zk.ui.Execution, org.zkoss.zk.ui.Richlet, org.zkoss.zk.ui.Page, java.io.Writer)`