/* RequestInfoImpl.java Purpose: Description: History: Wed Apr 19 13:49:49 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.impl; import org.zkoss.util.resource.Locator; import org.zkoss.zk.ui.Desktop; import org.zkoss.zk.ui.Execution; import org.zkoss.zk.ui.Session; import org.zkoss.zk.ui.WebApp; import org.zkoss.zk.ui.sys.RequestInfo; /** * An implementation of {@link RequestInfo}. * * @author tomyeh */ public class RequestInfoImpl implements RequestInfo { private final WebApp _wapp; private final Desktop _desktop; private final Session _sess; private Locator _locator; private final Object _request; /** Constructor * * @param wapp the Web application, never null. * @param sess the session, or null if not available. * @param desktop the desktop, or null if not created yet. * @param request the request, or null if not available. * @param locator the locator used to locate taglib and other resources. * If null, wapp is used. */ public RequestInfoImpl(WebApp wapp, Session sess, Desktop desktop, Object request, Locator locator) { if (wapp == null) throw new IllegalArgumentException("null"); _wapp = wapp; _sess = sess; _desktop = desktop; _request = request; _locator = locator; } /** Constructor. * * @param desktop the desktop, never null. * @param request the request, or null if not available. * @param locator the locator used to locate taglib and other resources. * If null, wapp is used. */ public RequestInfoImpl(Desktop desktop, Object request, Locator locator) { this(desktop.getWebApp(), desktop.getSession(), desktop, request, locator); } /** Constructor. * * @param exec the current execution, never null * @param locator the locator used to locate taglib and other resources. * If null, {@link #getWebApp} is used. */ public RequestInfoImpl(Execution exec, Locator locator) { this(exec.getDesktop(), exec.getNativeRequest(), locator); } public final WebApp getWebApp() { return _wapp; } public final Session getSession() { return _sess; } public final Desktop getDesktop() { return _desktop; } public final Object getNativeRequest() { return _request; } public final Locator getLocator() { return _locator; } public final void setLocator(Locator locator) { _locator = locator; } }