org.apache.velocity.texen.ant
public class TexenTask extends Task
Version: $Id: TexenTask.java,v 1.39.4.1 2004/03/03 23:23:07 geirm Exp $
Field Summary | |
---|---|
protected ExtendedProperties | contextProperties These are properties that are fed into the initial context from a properties file. |
protected String | controlTemplate
This is the control template that governs the output.
|
static String | ERR_MSG_FRAGMENT
This message fragment (telling users to consult the log or
invoke ant with the -debug flag) is appended to rethrown
exception messages. |
String | fileSeparator
Path separator. |
protected String | inputEncoding
This is the encoding for the input file(s)
(templates). |
protected String | outputDirectory
This is where texen will place all the output
that is a product of the generation process. |
protected String | outputEncoding
This is the encoding for the output file(s). |
protected String | outputFile
This is the file where the generated text
will be placed. |
protected String | templatePath
This is where Velocity will look for templates
using the file template loader. |
protected boolean | useClasspath
Property which controls whether the classpath
will be used when trying to locate templates. |
Method Summary | |
---|---|
protected void | cleanup()
A hook method called at the end of execute which can
be overridden to perform any necessary cleanup activities (such
as the release of database connections, etc.). |
void | execute()
Execute the input script with Velocity
|
ExtendedProperties | getContextProperties()
Get the context properties that will be
fed into the initial context be the
generating process starts. |
String | getControlTemplate()
Get the control template for the
generating process. |
String | getOutputDirectory()
Get the output directory. |
String | getOutputFile()
Get the output file for the
generation process. |
String | getTemplatePath()
Get the path where Velocity will look
for templates using the file template
loader. |
Context | initControlContext()
Creates a VelocityContext.
|
protected void | populateInitialContext(Context context) Place useful objects into the initial context. TexenTask places |
void | setContextProperties(String file)
Set the context properties that will be
fed into the initial context be the
generating process starts. |
void | setControlTemplate(String controlTemplate)
[REQUIRED] Set the control template for the
generating process. |
void | setInputEncoding(String inputEncoding)
Set the input (template) encoding. |
void | setOutputDirectory(File outputDirectory)
[REQUIRED] Set the output directory. |
void | setOutputEncoding(String outputEncoding)
Set the output encoding. |
void | setOutputFile(String outputFile)
[REQUIRED] Set the output file for the
generation process. |
void | setTemplatePath(String templatePath)
[REQUIRED] Set the path where Velocity will look
for templates using the file template
loader. |
void | setUseClasspath(boolean useClasspath)
Set the use of the classpath in locating templates
|
These are properties that are fed into the initial context from a properties file. This is simply a convenient way to set some values that you wish to make available in the context.
These values are not critical, like the template path or output path, but allow a convenient way to set a value that may be specific to a particular generation task.
For example, if you are generating scripts to allow
user to automatically create a database, then
you might want the $databaseName
to be placed
in the initial context so that it is available
in a script that might look something like the
following:
The value of
#!bin/sh
echo y | mysqladmin create $databaseName
$databaseName
isn't critical to
output, and you obviously don't want to change
the ant task to simply take a database name.
So initial context values can be set with
properties file.
Throws: Exception Problem cleaning up.
Throws: BuildException BuildExceptions are thrown when required attributes are missing. Exceptions thrown by Velocity are rethrown as BuildExceptions.
Returns: new Context
Throws: Exception the execute method will catch
and rethrow as a BuildException
Place useful objects into the initial context.
TexenTask places Date().toString()
into the
context as $now
. Subclasses who want to vary the
objects in the context should override this method.
$generator
is not put into the context in this
method.
Parameters: context The context to populate, as retrieved from initControlContext.
Throws: Exception Error while populating context. The execute method will catch and rethrow as a
BuildException
.
Parameters: boolean true means the classpath will be used.