# 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 Summary

Constructors
Constructor
Description
`TagFileProcessor()`

## Method Summary

Modifier and Type
Method
Description
`void`
`loadTagFiles(Compiler compiler, Node.Nodes page)`
Implements a phase of the translation that compiles (if necessary) the tag files used in a JSP files.
`static TagInfo`
`parseTagFileDirectives(ParserController pc, String name, String path, Jar jar, TagLibraryInfo tagLibInfo)`
Parses the tag file, and collects information on the directives included in it.
`void`
`removeProtoTypeFiles(String classFileName)`
Removed the java and class files for the tag prototype generated from the current compilation.

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

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

## 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.