|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.velocity.texen.ant.Texen
An ant task for generating output by using Velocity
Field Summary | |
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 |
contextPropertiesFile
Reference to the context properties that is held until processing in the execute() method. |
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 org.apache.tools.ant.Project |
project
Ant project that is populated by the Ant TaskAdapter when this bean is run as an Ant Task. |
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 Summary | |
Texen()
|
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 |
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. |
org.apache.tools.ant.Project |
getProject()
Get the Ant project which will be non-null if this bean is used as a Task and adapted by the Ant TaskAdapter. |
java.lang.String |
getTemplatePath()
Get the path where Velocity will look for templates using the file template loader. |
Context |
initControlContext()
Creates a VelocityContext. |
private void |
log(java.lang.String message)
Log a message. |
protected void |
populateInitialContext(Context context)
Place useful objects into the initial context. |
protected void |
processContextProperties(java.lang.String file)
Process the templatePath. |
protected void |
processTemplatePath(java.lang.String templatePath)
Process the templatePath. |
private java.io.File |
resolveFile(java.lang.String file)
Resolve a file. |
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 |
setProject(org.apache.tools.ant.Project project)
Set the Ant project. |
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 |
Methods inherited from class java.lang.Object |
|
Field Detail |
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 java.lang.String contextPropertiesFile
protected boolean useClasspath
private java.lang.String fileSeparator
protected org.apache.tools.ant.Project project
Constructor Detail |
public Texen()
Method Detail |
public void setControlTemplate(java.lang.String controlTemplate)
public java.lang.String getControlTemplate()
public void setTemplatePath(java.lang.String templatePath)
protected void processTemplatePath(java.lang.String templatePath) throws java.lang.Exception
public java.lang.String getTemplatePath()
public void setOutputDirectory(java.io.File outputDirectory) throws java.lang.Exception
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)
protected void processContextProperties(java.lang.String file) throws java.lang.Exception
public org.apache.commons.collections.ExtendedProperties getContextProperties()
public void setUseClasspath(boolean useClasspath)
boolean
- true means the classpath will be used.public void setProject(org.apache.tools.ant.Project project)
public org.apache.tools.ant.Project getProject()
public Context initControlContext() throws java.lang.Exception
java.lang.Exception
- the execute method will catch
and rethrow as a BuildException
public void execute() throws java.lang.Exception
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.private void log(java.lang.String message)
private java.io.File resolveFile(java.lang.String file) throws java.lang.Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |