/* WebAppCtrl.java
Purpose:
Description:
History:
Tue Apr 18 11:07:30 2006, Created by tomyeh
Copyright (C) 2006 Potix Corporation. All Rights Reserved.
{{IS_RIGHT
This program is distributed under LGPL Version 2.1 in the hope that
it will be useful, but WITHOUT ANY WARRANTY.
}}IS_RIGHT
*/
package org.zkoss.zk.ui.sys;
import org.zkoss.zk.au.AuDecoder;
import org.zkoss.zk.ui.Session;
import org.zkoss.zk.ui.util.Configuration;
/**
* Additional interface of {@link org.zkoss.zk.ui.WebApp} for implementation.
* <p>Note: applications shall never access this interface.
*
* @author tomyeh
*/
public interface WebAppCtrl {
/** Initializes this Web application.
*
* @param context the servlet context, if servlets are used.
* Currently, ZK supports only servlets. In the future there might be
* more to support.
* @param config the configuration (never null)
*/
public void init(Object context, Configuration config);
/** Destroys this Web application.
* <p>Note; once destroyed, this instance cannot be used anymore.
*/
public void destroy();
/** Returns the UI engine for this Web application (never null).
*/
public UiEngine getUiEngine();
/** Sets the UI engine for this Web application.
* The UI engine is stateful so it is not safe to change it
* if there are active sessions.
* @param engine the UI engine
* @exception IllegalArgumentException if engine is null.
* @since 3.6.0
*/
public void setUiEngine(UiEngine engine);
/** Returns the desktop cache.
* A shortcut of {@link #getDesktopCacheProvider}'s
* {@link DesktopCacheProvider#getDesktopCache}.
*/
public DesktopCache getDesktopCache(Session sess);
/** Returns the desktop cache provider.
*/
public DesktopCacheProvider getDesktopCacheProvider();
/** Sets the desktop provider for this Web application.
* @param provider the desktop cache provider
* @exception IllegalArgumentException if provider is null.
* @since 3.6.0
*/
public void setDesktopCacheProvider(DesktopCacheProvider provider);
/** Returns the UI factory for this Web application (never null).
*/
public UiFactory getUiFactory();
/** Sets the UI factory for this Web application.
* @param factory the UI factory
* @exception IllegalArgumentException if factory is null.
* @since 3.6.0
*/
public void setUiFactory(UiFactory factory);
/** Returns the failover manager, or null if not available.
*/
public FailoverManager getFailoverManager();
/** Sets the failover manager for this Web application.
* @param manager the failover manager.
* If null, it means no failover manager at all.
* @since 3.6.0
*/
public void setFailoverManager(FailoverManager manager);
/** Returns the ID generator, or null if not available.
*
* @since 2.4.1
*/
public IdGenerator getIdGenerator();
/** Sets the ID generator for this Web application.
* @param generator the ID generator.
* If null, it means no (custom) ID generator at all.
* @since 3.6.0
*/
public void setIdGenerator(IdGenerator generator);
/** Returns the session cache (never null).
* The session cache is used to store ZK sessions.
* @since 3.0.5
*/
public SessionCache getSessionCache();
/** Sets the session cache for this Web application.
* @param cache the session cache
* @exception IllegalArgumentException if cache is null.
* @since 3.6.0
*/
public void setSessionCache(SessionCache cache);
/** Returns the AU decoder for this Web application,
* or null if not assigned.
* @since 5.0.4
*/
public AuDecoder getAuDecoder();
/** Sets the AU decoder for this Web application.
* <p>Default: null (using the system default).
* @since 5.0.4
*/
public void setAuDecoder(AuDecoder audec);
/** Notification that the session is about to be passivated
* (a.k.a., serialized).
*/
public void sessionWillPassivate(Session sess);
/** Notification that the session has just been activated
* (a.k.a., deserialized).
*/
public void sessionDidActivate(Session sess);
/** Called when the native session of the specified session
* has been destroyed
* @since 3.5.1
*/
void sessionDestroyed(Session sess);
}