Class TagFileProcessor

java.lang.Object
org.apache.jasper.compiler.TagFileProcessor

public class TagFileProcessor extends Object
1. Processes and extracts the directive info in a tag file. 2. Compiles and loads tag files used in a JSP file.
Author:
Kin-man Chung
  • Constructor Details

    • TagFileProcessor

      public TagFileProcessor()
  • Method Details

    • parseTagFileDirectives

      public static TagInfo parseTagFileDirectives(ParserController pc, String name, String path, Jar jar, TagLibraryInfo tagLibInfo) throws JasperException
      Parses the tag file, and collects information on the directives included in it. The method is used to obtain the info on the tag file, when the handler that it represents is referenced. The tag file is not compiled here.
      Parameters:
      pc - the current ParserController used in this compilation
      name - the tag name as specified in the TLD
      path - the path for the tagfile
      jar - the Jar resource containing the tag file
      tagLibInfo - the TagLibraryInfo object associated with this TagInfo
      Returns:
      a TagInfo object assembled from the directives in the tag file.
      Throws:
      JasperException - If an error occurs during parsing
    • loadTagFiles

      public void loadTagFiles(Compiler compiler, Node.Nodes page) throws JasperException
      Implements a phase of the translation that compiles (if necessary) the tag files used in a JSP files. The directives in the tag files are assumed to have been processed and encapsulated as TagFileInfo in the CustomTag nodes.
      Parameters:
      compiler - Compiler to use to compile tag files
      page - The page from to scan for tag files to compile
      Throws:
      JasperException - If an error occurs during the scan or compilation
    • removeProtoTypeFiles

      public void removeProtoTypeFiles(String classFileName)
      Removed the java and class files for the tag prototype generated from the current compilation.
      Parameters:
      classFileName - If non-null, remove only the class file with this name.