public class TexenTask
extends org.apache.tools.ant.Task
Modifier and Type | Field and Description |
---|---|
protected org.apache.commons.collections.ExtendedProperties |
contextProperties
These are properties that are fed into the
initial context from a properties file.
|
protected java.lang.String |
controlTemplate
This is the control template that governs the output.
|
private static java.lang.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.
|
private java.lang.String |
fileSeparator
Path separator.
|
protected java.lang.String |
inputEncoding
This is the encoding for the input file(s)
(templates).
|
protected java.lang.String |
outputDirectory
This is where texen will place all the output
that is a product of the generation process.
|
protected java.lang.String |
outputEncoding
This is the encoding for the output file(s).
|
protected java.lang.String |
outputFile
This is the file where the generated text
will be placed.
|
protected java.lang.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.
|
Constructor and Description |
---|
TexenTask() |
Modifier and Type | Method and Description |
---|---|
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
|
org.apache.commons.collections.ExtendedProperties |
getContextProperties()
Get the context properties that will be
fed into the initial context be the
generating process starts.
|
java.lang.String |
getControlTemplate()
Get the control template for the
generating process.
|
java.lang.String |
getOutputDirectory()
Get the output directory.
|
java.lang.String |
getOutputFile()
Get the output file for the
generation process.
|
java.lang.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.
|
void |
setContextProperties(java.lang.String file)
Set the context properties that will be
fed into the initial context be the
generating process starts.
|
void |
setControlTemplate(java.lang.String controlTemplate)
[REQUIRED] Set the control template for the
generating process.
|
void |
setInputEncoding(java.lang.String inputEncoding)
Set the input (template) encoding.
|
void |
setOutputDirectory(java.io.File outputDirectory)
[REQUIRED] Set the output directory.
|
void |
setOutputEncoding(java.lang.String outputEncoding)
Set the output encoding.
|
void |
setOutputFile(java.lang.String outputFile)
[REQUIRED] Set the output file for the
generation process.
|
void |
setTemplatePath(java.lang.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
|
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
private static final java.lang.String ERR_MSG_FRAGMENT
protected java.lang.String controlTemplate
protected java.lang.String templatePath
protected java.lang.String outputDirectory
protected java.lang.String outputFile
protected java.lang.String outputEncoding
protected java.lang.String inputEncoding
protected org.apache.commons.collections.ExtendedProperties contextProperties
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.
protected boolean useClasspath
private java.lang.String fileSeparator
public void setControlTemplate(java.lang.String controlTemplate)
public java.lang.String getControlTemplate()
public void setTemplatePath(java.lang.String templatePath) throws java.lang.Exception
java.lang.Exception
public java.lang.String getTemplatePath()
public void setOutputDirectory(java.io.File outputDirectory)
public java.lang.String getOutputDirectory()
public void setOutputFile(java.lang.String outputFile)
public void setOutputEncoding(java.lang.String outputEncoding)
public void setInputEncoding(java.lang.String inputEncoding)
public java.lang.String getOutputFile()
public void setContextProperties(java.lang.String file)
public org.apache.commons.collections.ExtendedProperties getContextProperties()
public void setUseClasspath(boolean useClasspath)
boolean
- true means the classpath will be used.public Context initControlContext() throws java.lang.Exception
java.lang.Exception
- the execute method will catch
and rethrow as a BuildException
public void execute() throws org.apache.tools.ant.BuildException
execute
in class org.apache.tools.ant.Task
org.apache.tools.ant.BuildException
- BuildExceptions are thrown when required attributes are missing.
Exceptions thrown by Velocity are rethrown as BuildExceptions.protected void populateInitialContext(Context context) throws java.lang.Exception
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.
context
- The context to populate, as retrieved from
initControlContext()
.java.lang.Exception
- Error while populating context. The execute()
method will catch and rethrow as a
BuildException
.protected void cleanup() throws java.lang.Exception
execute()
which can
be overridden to perform any necessary cleanup activities (such
as the release of database connections, etc.). By default,
does nothing.java.lang.Exception
- Problem cleaning up.Copyright ? 2002 Apache Software Foundation. All Rights Reserved.