org.apache.tools.ant.taskdefs

Class KeySubst

public class KeySubst extends Task

Deprecated: KeySubst is deprecated since Ant 1.1. Use Filter + Copy instead.

Keyword substitution. Input file is written to output file. Do not make input file same as output file. Keywords in input files look like this: @foo@. See the docs for the setKeys method to understand how to do the substitutions.

Since: Ant 1.1

Method Summary
voidexecute()
Do the execution.
static voidmain(String[] args)
A test method.
static Stringreplace(String origString, Hashtable keys)
Does replacement on text using the hashtable of keys.
voidsetDest(File dest)
Set the destination file.
voidsetKeys(String keys)
Sets the keys.
voidsetSep(String sep)
Sets the separator between name=value arguments in setKeys().
voidsetSrc(File s)
Set the source file.

Method Detail

execute

public void execute()
Do the execution.

Throws: BuildException on error

main

public static void main(String[] args)
A test method.

Parameters: args not used

replace

public static String replace(String origString, Hashtable keys)
Does replacement on text using the hashtable of keys.

Parameters: origString an input string keys mapping of keys to values

Returns: the string with the replacements in it.

Throws: BuildException on error

setDest

public void setDest(File dest)
Set the destination file.

Parameters: dest the destination file

setKeys

public void setKeys(String keys)
Sets the keys. Format string is like this:

name=value*name2=value

Names are case sensitive.

Use the setSep() method to change the * to something else if you need to use * as a name or value.

Parameters: keys a String value

setSep

public void setSep(String sep)
Sets the separator between name=value arguments in setKeys(). By default it is "*".

Parameters: sep the separator string

setSrc

public void setSrc(File s)
Set the source file.

Parameters: s the source file