org.apache.jasper.compiler

## Class JspRuntimeContext

- java.lang.Object
- - org.apache.jasper.compiler.JspRuntimeContext

-     public final class JspRuntimeContext
      extends Object

  Class for tracking JSP compile time file dependencies when the >%@include file="..."%< directive is used. A background thread periodically checks the files a JSP page is dependent upon. If a dependent file changes the JSP page which included it is recompiled. Only used if a web application context is a directory.
  Author:
    Glenn L. Nielsen

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JspRuntimeContext(ServletContext context, Options options)` Create a JspRuntimeContext for a web application context.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addWrapper(String jspUri, JspServletWrapper jsw)` Add a new JspServletWrapper.
    `void` | `checkCompile()` Method used by background thread to check the JSP dependencies registered with this class for JSP's.
    `void` | `checkUnload()` Method used by background thread to check if any JSP's should be unloaded.
    `void` | `destroy()` Process a "destroy" event for this web application context.
    `String` | `getClassPath()`
    `CodeSource` | `getCodeSource()` Get the SecurityManager Policy CodeSource for this web application 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` | `getJspQueueLength()` Gets the number of JSPs that are in the JSP limiter queue
    `int` | `getJspReloadCount()` Gets the current value of the JSP reload counter.
    `int` | `getJspUnloadCount()` Gets the number of JSPs that have been unloaded.
    `long` | `getLastJspQueueUpdate()`
    `ClassLoader` | `getParentClassLoader()` Get the parent ClassLoader.
    `PermissionCollection` | `getPermissionCollection()` Get the SecurityManager PermissionCollection for this web application context.
    `JspServletWrapper` | `getWrapper(String jspUri)` Get an already existing JspServletWrapper.
    `void` | `incrementJspReloadCount()` Increments the JSP reload counter.
    `boolean` | `isCompileCheckInProgress()`
    `void` | `makeYoungest(FastRemovalDequeue.Entry unloadHandle)` Push unloadHandle for JspServletWrapper to front of the queue.
    `FastRemovalDequeue.Entry` | `push(JspServletWrapper jsw)` Push a newly compiled JspServletWrapper into the queue at first execution of jsp.
    `void` | `removeWrapper(String jspUri)` Remove a JspServletWrapper.
    `void` | `setJspReloadCount(int count)` Resets the JSP reload counter.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JspRuntimeContext

          public JspRuntimeContext(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
        `options` - The main Jasper options

  - ### Method Detail

    - #### addWrapper

          public void addWrapper(String jspUri,
                        JspServletWrapper jsw)

      Add a new JspServletWrapper.
      Parameters:
        `jspUri` - JSP URI
        `jsw` - Servlet wrapper for JSP

    - #### getWrapper

          public JspServletWrapper getWrapper(String jspUri)

      Get an already existing JspServletWrapper.
      Parameters:
        `jspUri` - JSP URI
      Returns:
        JspServletWrapper for JSP

    - #### removeWrapper

          public void removeWrapper(String jspUri)

      Remove a JspServletWrapper.
      Parameters:
        `jspUri` - JSP URI of JspServletWrapper to remove

    - #### push

          public FastRemovalDequeue.Entry push(JspServletWrapper jsw)

      Push a newly compiled JspServletWrapper into the queue at first execution of jsp. Destroy any JSP that has been replaced in the queue.
      Parameters:
        `jsw` - Servlet wrapper for jsp.
      Returns:
        an unloadHandle that can be pushed to front of queue at later execution times.

    - #### makeYoungest

          public void makeYoungest(FastRemovalDequeue.Entry unloadHandle)

      Push unloadHandle for JspServletWrapper to front of the queue.
      Parameters:
        `unloadHandle` - the unloadHandle for the jsp.

    - #### 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 CodeSource getCodeSource()

      Get the SecurityManager Policy CodeSource for this web application context.
      Returns:
        CodeSource for JSP

    - #### getParentClassLoader

          public ClassLoader getParentClassLoader()

      Get the parent ClassLoader.
      Returns:
        ClassLoader parent

    - #### getPermissionCollection

          public PermissionCollection getPermissionCollection()

      Get the SecurityManager PermissionCollection for this web application context.
      Returns:
        PermissionCollection permissions

    - #### destroy

          public void destroy()

      Process a "destroy" 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

    - #### getJspQueueLength

          public int getJspQueueLength()

      Gets the number of JSPs that are in the JSP limiter queue
      Returns:
        The number of JSPs (in the webapp with which this JspServlet is associated) that are in the JSP limiter queue

    - #### getJspUnloadCount

          public int getJspUnloadCount()

      Gets the number of JSPs that have been unloaded.
      Returns:
        The number of JSPs (in the webapp with which this JspServlet is associated) that have been unloaded

    - #### checkCompile

          public void checkCompile()

      Method used by background thread to check the JSP dependencies registered with this class for JSP's.

    - #### isCompileCheckInProgress

          public boolean isCompileCheckInProgress()

    - #### getClassPath

          public String getClassPath()

      Returns:
        the classpath that is passed off to the Java compiler.

    - #### getLastJspQueueUpdate

          public long getLastJspQueueUpdate()

      Returns:
        Last time the update background task has run

    - #### checkUnload

          public void checkUnload()

      Method used by background thread to check if any JSP's should be unloaded.

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