Class JasperLoader

All Implemented Interfaces:
Closeable, AutoCloseable

public class JasperLoader extends URLClassLoader
Class loader for loading servlet class files (corresponding to JSP files) and tag handler class files (corresponding to tag files).
Author:
Anil K. Vijendran, Harish Prabandham
  • Constructor Details

  • Method Details

    • loadClass

      public Class<?> loadClass(String name) throws ClassNotFoundException
      Load the class with the specified name. This method searches for classes in the same manner as loadClass(String, boolean) with false as the second argument.
      Overrides:
      loadClass in class ClassLoader
      Parameters:
      name - Name of the class to be loaded
      Throws:
      ClassNotFoundException - if the class was not found
    • loadClass

      public Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
      Load the class with the specified name, searching using the following algorithm until it finds and returns the class. If the class cannot be found, returns ClassNotFoundException.
      • Call findLoadedClass(String) to check if the class has already been loaded. If it has, the same Class object is returned.
      • If the delegate property is set to true, call the loadClass() method of the parent class loader, if any.
      • Call findClass() to find this class in our locally defined repositories.
      • Call the loadClass() method of our parent class loader, if any.
      If the class was found using the above steps, and the resolve flag is true, this method will then call resolveClass(Class) on the resulting Class object.
      Overrides:
      loadClass in class ClassLoader
      Parameters:
      name - Name of the class to be loaded
      resolve - If true then resolve the class
      Throws:
      ClassNotFoundException - if the class was not found
    • getResourceAsStream

      public InputStream getResourceAsStream(String name)
      Delegate to parent
      Overrides:
      getResourceAsStream in class URLClassLoader
      See Also:
    • getPermissions

      public final PermissionCollection getPermissions(CodeSource codeSource)
      Get the Permissions for a CodeSource. Since this ClassLoader is only used for a JSP page in a web application context, we just return our preset PermissionCollection for the web app context.
      Overrides:
      getPermissions in class URLClassLoader
      Parameters:
      codeSource - Code source where the code was loaded from
      Returns:
      PermissionCollection for CodeSource