org.apache.velocity.anakia
Class AnakiaTask

org.apache.velocity.anakia.AnakiaTask

public class AnakiaTask

The purpose of this Ant Task is to allow you to use Velocity as an XML transformation tool like XSLT is. So, instead of using XSLT, you will be able to use this class instead to do your transformations. It works very similar in concept to Ant's <style> task.

You can find more documentation about this class on the Velocity Website.

Version:
$Id: AnakiaTask.java,v 1.33 2001/11/09 00:12:56 geirm Exp $
Author:
Jon S. Stevens, Attila Szegedi

Field Summary
private  java.io.File baseDir
          the base directory
private  org.jdom.input.SAXBuilder builder
          SAXBuilder instance to use
private  java.io.File destDir
          the destination directory
private  java.lang.String extension
          the default output extension is .html
private  boolean lastModifiedCheck
          check the last modified date on files.
private  java.lang.String projectAttribute
          the projectFile= attribute
private  java.io.File projectFile
          the File for the project.xml file
private  long projectFileLastModified
          last modified of the project file if it exists
private  java.lang.String style
          the style= attribute
private  java.io.File styleFile
          the File to the style file
private  long styleSheetLastModified
          last modified of the style sheet
private  java.lang.String templatePath
          the template path
private  VelocityEngine ve
          the VelocityEngine instance to use
private  java.io.File velocityPropertiesFile
          the file to get the velocity properties file
 
Constructor Summary
AnakiaTask()
          Constructor creates the SAXBuilder.
 
Method Summary
private  void ensureDirectoryFor(java.io.File targetFile)
          create directories as needed
 void execute()
          Main body of the application
private  java.lang.String getRelativePath(java.lang.String file)
          Hacky method to figure out the relative path that we are currently in.
private  void process(java.io.File baseDir, java.lang.String xmlFile, java.io.File destDir, org.jdom.Document projectDocument)
          Process an XML file using Velocity
 void setBasedir(java.io.File dir)
          Set the base directory.
 void setDestdir(java.io.File dir)
          Set the destination directory into which the VSL result files should be copied to
 void setExtension(java.lang.String extension)
          Allow people to set the default output file extension
 void setLastModifiedCheck(java.lang.String lastmod)
          Turn on/off last modified checking.
 void setProjectFile(java.lang.String projectAttribute)
          Allow people to set the path to the project.xml file
 void setStyle(java.lang.String style)
          Allow people to set the path to the .vsl file
 void setTemplatePath(java.io.File templatePath)
          Set the path to the templates.
 void setVelocityPropertiesFile(java.io.File velocityPropertiesFile)
          Allow people to set the path to the velocity.properties file This file is found relative to the path where the JVM was run.
 

Field Detail

builder

private org.jdom.input.SAXBuilder builder
SAXBuilder instance to use

destDir

private java.io.File destDir
the destination directory

baseDir

private java.io.File baseDir
the base directory

style

private java.lang.String style
the style= attribute

styleFile

private java.io.File styleFile
the File to the style file

styleSheetLastModified

private long styleSheetLastModified
last modified of the style sheet

projectAttribute

private java.lang.String projectAttribute
the projectFile= attribute

projectFile

private java.io.File projectFile
the File for the project.xml file

projectFileLastModified

private long projectFileLastModified
last modified of the project file if it exists

lastModifiedCheck

private boolean lastModifiedCheck
check the last modified date on files. defaults to true

extension

private java.lang.String extension
the default output extension is .html

templatePath

private java.lang.String templatePath
the template path

velocityPropertiesFile

private java.io.File velocityPropertiesFile
the file to get the velocity properties file

ve

private VelocityEngine ve
the VelocityEngine instance to use
Constructor Detail

AnakiaTask

public AnakiaTask()
Constructor creates the SAXBuilder.
Method Detail

setBasedir

public void setBasedir(java.io.File dir)
Set the base directory.

setDestdir

public void setDestdir(java.io.File dir)
Set the destination directory into which the VSL result files should be copied to
Parameters:
dirName - the name of the destination directory

setExtension

public void setExtension(java.lang.String extension)
Allow people to set the default output file extension

setStyle

public void setStyle(java.lang.String style)
Allow people to set the path to the .vsl file

setProjectFile

public void setProjectFile(java.lang.String projectAttribute)
Allow people to set the path to the project.xml file

setTemplatePath

public void setTemplatePath(java.io.File templatePath)
Set the path to the templates. The way it works is this: If you have a Velocity.properties file defined, this method will override whatever is set in the Velocity.properties file. This allows one to not have to define a Velocity.properties file, therefore using Velocity's defaults only.

setVelocityPropertiesFile

public void setVelocityPropertiesFile(java.io.File velocityPropertiesFile)
Allow people to set the path to the velocity.properties file This file is found relative to the path where the JVM was run. For example, if build.sh was executed in the ./build directory, then the path would be relative to this directory. This is optional based on the setting of setTemplatePath().

setLastModifiedCheck

public void setLastModifiedCheck(java.lang.String lastmod)
Turn on/off last modified checking. by default, it is on.

execute

public void execute()
             throws org.apache.tools.ant.BuildException
Main body of the application

process

private void process(java.io.File baseDir,
                     java.lang.String xmlFile,
                     java.io.File destDir,
                     org.jdom.Document projectDocument)
              throws org.apache.tools.ant.BuildException
Process an XML file using Velocity

getRelativePath

private java.lang.String getRelativePath(java.lang.String file)
Hacky method to figure out the relative path that we are currently in. This is good for getting the relative path for images and anchor's.

ensureDirectoryFor

private void ensureDirectoryFor(java.io.File targetFile)
                         throws org.apache.tools.ant.BuildException
create directories as needed


Copyright © 2003 Apache Software Foundation. All Rights Reserved.