org.apache.jasper.compiler
Class JspRuntimeContext

java.lang.Object
  extended byorg.apache.jasper.compiler.JspRuntimeContext
All Implemented Interfaces:
java.lang.Runnable

public final class JspRuntimeContext
extends java.lang.Object
implements java.lang.Runnable

Class for tracking JSP compile time file dependencies when the &060;%@include file="..."%&062; directive is used. A background thread periodically checks the files a JSP page is dependent upon. If a dpendent file changes the JSP page which included it is recompiled. Only used if a web application context is a directory.

Version:
$Revision: 791335 $
Author:
Glenn L. Nielsen

Constructor Summary
JspRuntimeContext(javax.servlet.ServletContext context, Options options)
          Create a JspRuntimeContext for a web application context.
 
Method Summary
 void addWrapper(java.lang.String jspUri, JspServletWrapper jsw)
          Add a new JspServletWrapper.
 void destroy()
          Process a "destory" event for this web application context.
 java.lang.String getClassPath()
          The classpath that is passed off to the Java compiler.
 java.security.CodeSource getCodeSource()
          Get the SecurityManager Policy CodeSource for this web applicaiton context.
 int getJspCount()
          Returns the number of JSPs for which JspServletWrappers exist, i.e., the number of JSPs that have been loaded into the webapp.
 int getJspReloadCount()
          Gets the current value of the JSP reload counter.
 java.net.URLClassLoader getParentClassLoader()
          Get the parent URLClassLoader.
 java.security.PermissionCollection getPermissionCollection()
          Get the SecurityManager PermissionCollection for this web application context.
 JspServletWrapper getWrapper(java.lang.String jspUri)
          Get an already existing JspServletWrapper.
 void incrementJspReloadCount()
          Increments the JSP reload counter.
 void removeWrapper(java.lang.String jspUri)
          Remove a JspServletWrapper.
 void run()
          The background thread that checks for changes to files included by a JSP and flags that a recompile is required.
 void setJspReloadCount(int count)
          Resets the JSP reload counter.
protected  void threadSleep()
          Sleep for the duration specified by the checkInterval property.
protected  void threadStart()
          Start the background thread that will periodically check for changes to compile time included files in a JSP.
protected  void threadStop()
          Stop the background thread that is periodically checking for changes to compile time included files in a JSP.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JspRuntimeContext

public JspRuntimeContext(javax.servlet.ServletContext context,
                         Options options)
Create a JspRuntimeContext for a web application context. Loads in any previously generated dependencies from file.

Parameters:
context - ServletContext for web application
Method Detail

addWrapper

public void addWrapper(java.lang.String jspUri,
                       JspServletWrapper jsw)
Add a new JspServletWrapper.

Parameters:
jspUri - JSP URI
jsw - Servlet wrapper for JSP

getWrapper

public JspServletWrapper getWrapper(java.lang.String jspUri)
Get an already existing JspServletWrapper.

Parameters:
jspUri - JSP URI
Returns:
JspServletWrapper for JSP

removeWrapper

public void removeWrapper(java.lang.String jspUri)
Remove a JspServletWrapper.

Parameters:
jspUri - JSP URI of JspServletWrapper to remove

getJspCount

public int getJspCount()
Returns the number of JSPs for which JspServletWrappers exist, i.e., the number of JSPs that have been loaded into the webapp.

Returns:
The number of JSPs that have been loaded into the webapp

getCodeSource

public java.security.CodeSource getCodeSource()
Get the SecurityManager Policy CodeSource for this web applicaiton context.

Returns:
CodeSource for JSP

getParentClassLoader

public java.net.URLClassLoader getParentClassLoader()
Get the parent URLClassLoader.

Returns:
URLClassLoader parent

getPermissionCollection

public java.security.PermissionCollection getPermissionCollection()
Get the SecurityManager PermissionCollection for this web application context.

Returns:
PermissionCollection permissions

destroy

public void destroy()
Process a "destory" event for this web application context.


incrementJspReloadCount

public void incrementJspReloadCount()
Increments the JSP reload counter.


setJspReloadCount

public void setJspReloadCount(int count)
Resets the JSP reload counter.

Parameters:
count - Value to which to reset the JSP reload counter

getJspReloadCount

public int getJspReloadCount()
Gets the current value of the JSP reload counter.

Returns:
The current value of the JSP reload counter

getClassPath

public java.lang.String getClassPath()
The classpath that is passed off to the Java compiler.


threadStart

protected void threadStart()
Start the background thread that will periodically check for changes to compile time included files in a JSP.

Throws:
java.lang.IllegalStateException - if we should not be starting a background thread now

threadStop

protected void threadStop()
Stop the background thread that is periodically checking for changes to compile time included files in a JSP.


threadSleep

protected void threadSleep()
Sleep for the duration specified by the checkInterval property.


run

public void run()
The background thread that checks for changes to files included by a JSP and flags that a recompile is required.

Specified by:
run in interface java.lang.Runnable


Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.