xdoclet.template

Class TemplateParser


public class TemplateParser
extends TemplateEngine

Subclass of Template Engine that do not generate anything but only parse the document. The TagHandlers have a callback entry to this method to set in it anything they want to. This class was introduced for parsing .j files and return a list of merge files needed for the generation. The timestamp checking can then verify all files involved in a generation and bypass the generation if -nothing has changed-.

Version:
$Revision: 1.12 $

Author:
Vincent Harcq (vincent.harcq@hubmethods.com)

created
December 27, 2001

Field Summary

Fields inherited from class xdoclet.template.TemplateEngine

TAG_MAPPINGS_FILE, XDOCLET_HEAD, XDOCLET_HEAD_LEN, XDOCLET_PREFIX, XDOCLET_TAIL, XDOCLET_TAIL_LEN, docEncoding, out, output

Constructor Summary

TemplateParser()
Initialize the Template Engine.

Method Summary

void
addMergeFile(String file)
Callback by the MergeTagsHandler to give the parser the list of merge files involved.
void
generate(String template)
In this class, this method does not -generate- anything but only parse the files.
String[]
getMergeFiles()
Return the list of merge files involved in the generation.
static TemplateParser
getParserInstance()
Gets the ParserInstance attribute of the TemplateParser class
TemplateTagHandler
getTagHandlerFor(String prefix)
boolean
hasMergeFile(String file)
Callback by the MergeTagsHandler to know if a merge file has already been taken into account.
protected Object
invoke(Method m, Object cmdImplProvider, Object[] params1)
Describe what the method does
protected void
invokeContentMethod(String cmd, Properties attributes, String template, int i)
Describe what the method does
void
start()
A utility method used for generating the dest_file based on template_file template file.

Methods inherited from class xdoclet.template.TemplateEngine

generate, getCurrentLineNum, getEngineInstance, getLineNumber, getNamespaces, getOutput, getTagHandlerFor, getTemplateURL, handleTag, invoke, invokeContentMethod, invokeMethod, outputOf, print, setCurrentLineNum, setDocEncoding, setOutput, setTagHandlerFor, setTemplateURL, setWriter, setXJavaDoc, skipWhitespace, start

Constructor Details

TemplateParser

protected TemplateParser()
Initialize the Template Engine. Reads the XDoclet properties file, and loads any XTag handler classes specified.

Method Details

addMergeFile

public void addMergeFile(String file)
Callback by the MergeTagsHandler to give the parser the list of merge files involved.

Parameters:
file - one merge file involved


generate

public void generate(String template)
            throws TemplateException
In this class, this method does not -generate- anything but only parse the files. Callback to this class can be made by specific TagHandlers during the process.
Overrides:
generate in interface TemplateEngine

Parameters:
template - Description of Parameter

Throws:
TemplateException - Description of Exception


getMergeFiles

public String[] getMergeFiles()
Return the list of merge files involved in the generation.

Returns:
an array of File


getParserInstance

public static TemplateParser getParserInstance()
Gets the ParserInstance attribute of the TemplateParser class

Returns:
The ParserInstance value


getTagHandlerFor

public TemplateTagHandler getTagHandlerFor(String prefix)
            throws TemplateException
Overrides:
getTagHandlerFor in interface TemplateEngine


hasMergeFile

public boolean hasMergeFile(String file)
Callback by the MergeTagsHandler to know if a merge file has already been taken into account.

Parameters:
file -

Returns:


invoke

protected Object invoke(Method m,
                        Object cmdImplProvider,
                        Object[] params1)
            throws InvocationTargetException,
                   IllegalAccessException,
                   TemplateException
Describe what the method does
Overrides:
invoke in interface TemplateEngine

Parameters:
m - Describe what the parameter does
cmdImplProvider - Describe what the parameter does
params1 - Describe what the parameter does

Returns:
Describe the return value

Throws:
TemplateException - Describe the exception


invokeContentMethod

protected void invokeContentMethod(String cmd,
                                   Properties attributes,
                                   String template,
                                   int i)
            throws TemplateException
Describe what the method does
Overrides:
invokeContentMethod in interface TemplateEngine

Parameters:
cmd - Describe what the parameter does
attributes - Describe what the parameter does
template - Describe what the parameter does
i - Describe what the parameter does

Throws:
TemplateException - Describe the exception


start

public void start()
            throws TemplateException
A utility method used for generating the dest_file based on template_file template file.
Overrides:
start in interface TemplateEngine

Throws:
TemplateException - Description of Exception