/* RequestContext.java Purpose: Description: History: Thu Aug 30 12:32:50 2007, Created by tomyeh Copyright (C) 2007 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.web.servlet.xel; import java.io.IOException; import java.io.Writer; import javax.servlet.ServletContext; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import org.zkoss.xel.VariableResolver; /** * The context used to simplify the signatures of XEL function. * * <p>It is designed to make the signature of XEL functions * (see {@link org.zkoss.web.fn.ServletFns}) simpler. * For example, {@link org.zkoss.web.fn.ServletFns#isExplorer} requires * no argument, since it assumes the current context can be retrieved * from {@link RequestContexts#getCurrent}. * * @author tomyeh * @since 3.0.0 */ public interface RequestContext { /** Returns the writer, never null. */ public Writer getOut() throws IOException; /** Returns the request, or null if not available. */ public ServletRequest getRequest(); /** Returns the response, or null if not available. */ public ServletResponse getResponse(); /** Returns the request, or null if not available. */ public ServletContext getServletContext(); /** Returns the variable resolver. */ public VariableResolver getVariableResolver(); }