Package org.zkoss.zk.ui.util

## Interface UiLifeCycle

- All Known Implementing Classes:
    `BindUiLifeCycle`

      public interface UiLifeCycle

  Used to intercept the life cycle of UI, such as `Component` being attached.
  Since:
    3.0.6
  Author:
    tomyeh

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `afterComponentAttached​(Component comp, Page page)` | Called after a component is attached to a page.
    `void` | `afterComponentDetached​(Component comp, Page prevpage)` | Called after a component is detached from a page.
    `void` | `afterComponentMoved​(Component parent, Component child, Component prevparent)` | Called after the parent/children relation is changed.
    `void` | `afterPageAttached​(Page page, Desktop desktop)` | Called after a page is attached to a desktop.
    `void` | `afterPageDetached​(Page page, Desktop prevdesktop)` | Called after a page is detached to a desktop.
    `void` | `afterShadowAttached​(ShadowElement shadow, Component host)` | Called after a shadow is attached to a host.
    `void` | `afterShadowDetached​(ShadowElement shadow, Component prevhost)` | Called after a shadow is detached from a host.

- - ### Method Detail

    - #### afterShadowAttached

          void afterShadowAttached​(ShadowElement shadow,
                                   Component host)

      Called after a shadow is attached to a host.

      If a tree of shadows are attached to a host, this method called only against the root one. For example, if shadow A has a child B and A is attached to host P, then afterShadowAttached(A, P) is called.

      Note: exception thrown by this method is ignored (but logged).

      Since:
        8.0.0

    - #### afterShadowDetached

          void afterShadowDetached​(ShadowElement shadow,
                                   Component prevhost)

      Called after a shadow is detached from a host.

      If a tree of shadows are detached to a host, this method called only against the root one. For example, if shadow A has a child B and A is detached from host P, then afterShadowDetached(A, P) is called.

      Note: exception thrown by this method is ignored (but logged).

      Parameters:
        `prevhost` - the previous host that shadow belongs to.
      Since:
        8.0.0

    - #### afterComponentAttached

          void afterComponentAttached​(Component comp,
                                      Page page)

      Called after a component is attached to a page.

      If a tree of components are attached to a page, this method called only against the root one. For example, if component A has a child B and A is attached to page P, then afterComponentAttached(A, P) is called.

      Note: exception thrown by this method is ignored (but logged).

    - #### afterComponentDetached

          void afterComponentDetached​(Component comp,
                                      Page prevpage)

      Called after a component is detached from a page.

      If a tree of components are detached to a page, this method called only against the root one. For example, if component A has a child B and A is detached from page P, then afterComponentDetached(A, P) is called.

      Note: exception thrown by this method is ignored (but logged).

      Parameters:
        `prevpage` - the previous page that comp belongs to.

    - #### afterComponentMoved

          void afterComponentMoved​(Component parent,
                                   Component child,
                                   Component prevparent)

      Called after the parent/children relation is changed.

      If a tree of components has become children of the other component, this method called only against the root one. For example, if component A has a child B and A becomes a child of component C, then aferComponentAttached(C, A, null) is called.

      Note: exception thrown by this method is ignored (but logged).

      Parameters:
        `prevparent` - the previous parent. If it is the same as parent, comp is moved in the same parent.

    - #### afterPageAttached

          void afterPageAttached​(Page page,
                                 Desktop desktop)

      Called after a page is attached to a desktop.

      Note: exception thrown by this method is ignored (but logged).

    - #### afterPageDetached

          void afterPageDetached​(Page page,
                                 Desktop prevdesktop)

      Called after a page is detached to a desktop.