Package org.zkoss.zk.ui.sys

## Interface DesktopCacheProvider

- All Known Implementing Classes:
    `GlobalDesktopCacheProvider`, `SessionDesktopCacheProvider`

      public interface DesktopCacheProvider

  Used to retrieve a desktop cache (`DesktopCache`).
  Author:
    tomyeh

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `DesktopCache` | `getDesktopCache​(Session session)` | Returns a desktop cache of the specified session.
    `void` | `sessionDestroyed​(Session session)` | Called when a session is destroyed.
    `void` | `sessionDidActivate​(Session sess)` | Notification that the session has just been activated (a.k.a., deserialized).
    `void` | `sessionWillPassivate​(Session sess)` | Notification that the session is about to be passivated (a.k.a., serialized).
    `void` | `start​(WebApp wapp)` | Starts the provider.
    `void` | `stop​(WebApp wapp)` | Stops the provider.

- - ### Method Detail

    - #### getDesktopCache

          DesktopCache getDesktopCache​(Session session)

      Returns a desktop cache of the specified session.

      The implementation might ignore session and use a global cache instead. Moreover, it might implement a cache supporting clustering.

    - #### sessionDestroyed

          void sessionDestroyed​(Session session)

      Called when a session is destroyed. If the provider is session-based, it has to remove relevant desktops. If not, it might ignore this method.

      Application shall never access this method.

    - #### sessionWillPassivate

          void sessionWillPassivate​(Session sess)

      Notification that the session is about to be passivated (a.k.a., serialized).

      It is called when `WebAppCtrl.sessionWillPassivate(org.zkoss.zk.ui.Session)` is called.

    - #### sessionDidActivate

          void sessionDidActivate​(Session sess)

      Notification that the session has just been activated (a.k.a., deserialized).

      It is called when `WebAppCtrl.sessionDidActivate(org.zkoss.zk.ui.Session)` is called.

    - #### start

          void start​(WebApp wapp)

      Starts the provider.

    - #### stop

          void stop​(WebApp wapp)

      Stops the provider.