org.apache.jasper.runtime
Class PageContextImpl

java.lang.Object
  |
  +--javax.servlet.jsp.JspContext
        |
        +--javax.servlet.jsp.PageContext
              |
              +--org.apache.jasper.runtime.PageContextImpl
All Implemented Interfaces:
javax.servlet.jsp.el.VariableResolver

public class PageContextImpl
extends javax.servlet.jsp.PageContext
implements javax.servlet.jsp.el.VariableResolver

Implementation of the PageContext class from the JSP spec. Also doubles as a VariableResolver for the EL.

Author:
Anil K. Vijendran, Larry Cable, Hans Bergsten, Pierre Delisle, Mark Roth

Field Summary
protected  java.util.Hashtable attributes
           
protected  boolean autoFlush
           
protected  JspWriterImpl baseOut
           
protected  int bufferSize
           
protected  javax.servlet.ServletConfig config
           
protected  javax.servlet.ServletContext context
           
protected  int depth
           
protected  java.lang.String errorPageURL
           
protected  javax.servlet.jsp.JspFactory factory
           
protected  boolean isIncluded
           
protected  boolean needsSession
           
protected  javax.servlet.jsp.JspWriter out
           
protected  BodyContentImpl[] outs
           
protected  java.lang.Object page
           
protected  javax.servlet.ServletRequest request
           
protected  javax.servlet.ServletResponse response
           
protected  javax.servlet.Servlet servlet
           
protected  javax.servlet.http.HttpSession session
           
 
Fields inherited from class javax.servlet.jsp.PageContext
APPLICATION, APPLICATION_SCOPE, CONFIG, EXCEPTION, OUT, PAGE, PAGE_SCOPE, PAGECONTEXT, REQUEST, REQUEST_SCOPE, RESPONSE, SESSION, SESSION_SCOPE
 
Method Summary
protected  JspWriterImpl _createOut(int bufferSize, boolean autoFlush)
           
 java.lang.Object findAttribute(java.lang.String name)
           
 void forward(java.lang.String relativeUrlPath)
           
 java.lang.Object getAttribute(java.lang.String name)
           
 java.lang.Object getAttribute(java.lang.String name, int scope)
           
 java.util.Enumeration getAttributeNamesInScope(int scope)
           
 int getAttributesScope(java.lang.String name)
           
 java.lang.Exception getException()
           
 javax.servlet.jsp.el.ExpressionEvaluator getExpressionEvaluator()
          Provides programmatic access to the ExpressionEvaluator.
 javax.servlet.jsp.JspWriter getOut()
           
 java.lang.Object getPage()
           
 javax.servlet.ServletRequest getRequest()
           
 javax.servlet.ServletResponse getResponse()
           
 javax.servlet.Servlet getServlet()
           
 javax.servlet.ServletConfig getServletConfig()
           
 javax.servlet.ServletContext getServletContext()
           
 javax.servlet.http.HttpSession getSession()
           
 javax.servlet.jsp.el.VariableResolver getVariableResolver()
           
 void handlePageException(java.lang.Exception ex)
           
 void handlePageException(java.lang.Throwable t)
           
 void include(java.lang.String relativeUrlPath)
           
 void include(java.lang.String relativeUrlPath, boolean flush)
           
 void initialize(javax.servlet.Servlet servlet, javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, java.lang.String errorPageURL, boolean needsSession, int bufferSize, boolean autoFlush)
           
 javax.servlet.jsp.JspWriter popBody()
           
static java.lang.Object proprietaryEvaluate(java.lang.String expression, java.lang.Class expectedType, javax.servlet.jsp.PageContext pageContext, java.util.Map functionMap, java.lang.String defaultPrefix)
          Proprietary method to evaluate EL expressions.
 javax.servlet.jsp.tagext.BodyContent pushBody()
           
 javax.servlet.jsp.JspWriter pushBody(java.io.Writer writer)
           
 void release()
           
 void removeAttribute(java.lang.String name)
           
 void removeAttribute(java.lang.String name, int scope)
           
 java.lang.Object resolveVariable(java.lang.String pName, java.lang.Object pContext)
          VariableResolver interface
 void setAttribute(java.lang.String name, java.lang.Object attribute)
           
 void setAttribute(java.lang.String name, java.lang.Object o, int scope)
           
 
Methods inherited from class javax.servlet.jsp.PageContext
getErrorData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

outs

protected BodyContentImpl[] outs

depth

protected int depth

servlet

protected javax.servlet.Servlet servlet

config

protected javax.servlet.ServletConfig config

context

protected javax.servlet.ServletContext context

factory

protected javax.servlet.jsp.JspFactory factory

needsSession

protected boolean needsSession

errorPageURL

protected java.lang.String errorPageURL

autoFlush

protected boolean autoFlush

bufferSize

protected int bufferSize

attributes

protected transient java.util.Hashtable attributes

request

protected transient javax.servlet.ServletRequest request

response

protected transient javax.servlet.ServletResponse response

page

protected transient java.lang.Object page

session

protected transient javax.servlet.http.HttpSession session

isIncluded

protected boolean isIncluded

out

protected transient javax.servlet.jsp.JspWriter out

baseOut

protected transient JspWriterImpl baseOut
Method Detail

initialize

public void initialize(javax.servlet.Servlet servlet,
                       javax.servlet.ServletRequest request,
                       javax.servlet.ServletResponse response,
                       java.lang.String errorPageURL,
                       boolean needsSession,
                       int bufferSize,
                       boolean autoFlush)
                throws java.io.IOException,
                       java.lang.IllegalStateException,
                       java.lang.IllegalArgumentException
Specified by:
initialize in class javax.servlet.jsp.PageContext
java.io.IOException
java.lang.IllegalStateException
java.lang.IllegalArgumentException

release

public void release()
Specified by:
release in class javax.servlet.jsp.PageContext

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
Specified by:
getAttribute in class javax.servlet.jsp.JspContext

getAttribute

public java.lang.Object getAttribute(java.lang.String name,
                                     int scope)
Specified by:
getAttribute in class javax.servlet.jsp.JspContext

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object attribute)
Specified by:
setAttribute in class javax.servlet.jsp.JspContext

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object o,
                         int scope)
Specified by:
setAttribute in class javax.servlet.jsp.JspContext

removeAttribute

public void removeAttribute(java.lang.String name,
                            int scope)
Specified by:
removeAttribute in class javax.servlet.jsp.JspContext

getAttributesScope

public int getAttributesScope(java.lang.String name)
Specified by:
getAttributesScope in class javax.servlet.jsp.JspContext

findAttribute

public java.lang.Object findAttribute(java.lang.String name)
Specified by:
findAttribute in class javax.servlet.jsp.JspContext

getAttributeNamesInScope

public java.util.Enumeration getAttributeNamesInScope(int scope)
Specified by:
getAttributeNamesInScope in class javax.servlet.jsp.JspContext

removeAttribute

public void removeAttribute(java.lang.String name)
Specified by:
removeAttribute in class javax.servlet.jsp.JspContext

getOut

public javax.servlet.jsp.JspWriter getOut()
Specified by:
getOut in class javax.servlet.jsp.JspContext

getSession

public javax.servlet.http.HttpSession getSession()
Specified by:
getSession in class javax.servlet.jsp.PageContext

getServlet

public javax.servlet.Servlet getServlet()

getServletConfig

public javax.servlet.ServletConfig getServletConfig()
Specified by:
getServletConfig in class javax.servlet.jsp.PageContext

getServletContext

public javax.servlet.ServletContext getServletContext()
Specified by:
getServletContext in class javax.servlet.jsp.PageContext

getRequest

public javax.servlet.ServletRequest getRequest()
Specified by:
getRequest in class javax.servlet.jsp.PageContext

getResponse

public javax.servlet.ServletResponse getResponse()
Specified by:
getResponse in class javax.servlet.jsp.PageContext

getException

public java.lang.Exception getException()
Specified by:
getException in class javax.servlet.jsp.PageContext

getPage

public java.lang.Object getPage()
Specified by:
getPage in class javax.servlet.jsp.PageContext

include

public void include(java.lang.String relativeUrlPath)
             throws javax.servlet.ServletException,
                    java.io.IOException
Specified by:
include in class javax.servlet.jsp.PageContext
javax.servlet.ServletException
java.io.IOException

include

public void include(java.lang.String relativeUrlPath,
                    boolean flush)
             throws javax.servlet.ServletException,
                    java.io.IOException
Specified by:
include in class javax.servlet.jsp.PageContext
javax.servlet.ServletException
java.io.IOException

getVariableResolver

public javax.servlet.jsp.el.VariableResolver getVariableResolver()
Specified by:
getVariableResolver in class javax.servlet.jsp.JspContext

forward

public void forward(java.lang.String relativeUrlPath)
             throws javax.servlet.ServletException,
                    java.io.IOException
Specified by:
forward in class javax.servlet.jsp.PageContext
javax.servlet.ServletException
java.io.IOException

pushBody

public javax.servlet.jsp.tagext.BodyContent pushBody()
Overrides:
pushBody in class javax.servlet.jsp.PageContext

pushBody

public javax.servlet.jsp.JspWriter pushBody(java.io.Writer writer)
Overrides:
pushBody in class javax.servlet.jsp.JspContext

popBody

public javax.servlet.jsp.JspWriter popBody()
Overrides:
popBody in class javax.servlet.jsp.JspContext

getExpressionEvaluator

public javax.servlet.jsp.el.ExpressionEvaluator getExpressionEvaluator()
Provides programmatic access to the ExpressionEvaluator. The JSP Container must return a valid instance of an ExpressionEvaluator that can parse EL expressions.

Specified by:
getExpressionEvaluator in class javax.servlet.jsp.JspContext

handlePageException

public void handlePageException(java.lang.Exception ex)
                         throws java.io.IOException,
                                javax.servlet.ServletException
Specified by:
handlePageException in class javax.servlet.jsp.PageContext
java.io.IOException
javax.servlet.ServletException

handlePageException

public void handlePageException(java.lang.Throwable t)
                         throws java.io.IOException,
                                javax.servlet.ServletException
Specified by:
handlePageException in class javax.servlet.jsp.PageContext
java.io.IOException
javax.servlet.ServletException

resolveVariable

public java.lang.Object resolveVariable(java.lang.String pName,
                                        java.lang.Object pContext)
                                 throws javax.servlet.jsp.el.ELException
VariableResolver interface

Specified by:
resolveVariable in interface javax.servlet.jsp.el.VariableResolver
javax.servlet.jsp.el.ELException

proprietaryEvaluate

public static java.lang.Object proprietaryEvaluate(java.lang.String expression,
                                                   java.lang.Class expectedType,
                                                   javax.servlet.jsp.PageContext pageContext,
                                                   java.util.Map functionMap,
                                                   java.lang.String defaultPrefix)
                                            throws javax.servlet.jsp.el.ELException
Proprietary method to evaluate EL expressions. XXX - This method should go away once the EL interpreter moves out of JSTL and into its own project. For now, this is necessary because the standard machinery is too slow.

Parameters:
expression - The expression to be evaluated
expectedType - The expected resulting type
pageContext - The page context
functionMap - Maps prefix and name to Method
defaultPrefix - Default prefix for this evaluation
Returns:
The result of the evaluation
javax.servlet.jsp.el.ELException

_createOut

protected JspWriterImpl _createOut(int bufferSize,
                                   boolean autoFlush)
                            throws java.io.IOException,
                                   java.lang.IllegalArgumentException
java.io.IOException
java.lang.IllegalArgumentException


Copyright © 2000 Apache Software Foundation. All Rights Reserved.