org.apache.tools.ant.taskdefs.optionalClass PropertyFile
- java.lang.Object
- org.apache.tools.ant.ProjectComponent
- org.apache.tools.ant.Task
- org.apache.tools.ant.taskdefs.optional.PropertyFile
- All Implemented Interfaces:
- java.lang.Cloneable
public class PropertyFile extends TaskModifies settings in a property file.The following is an example of its usage:
<target name="setState"> <property name="header" value="##Generated file - do not modify!"/> <propertyfile file="apropfile.properties" comment="${header}"> <entry key="product.version.major" type="int" value="5"/> <entry key="product.version.minor" type="int" value="0"/> <entry key="product.build.major" type="int" value="0" /> <entry key="product.build.minor" type="int" operation="+"/> <entry key="product.build.date" type="date" value="now"/> <entry key="intSet" type="int" operation="=" value="681"/> <entry key="intDec" type="int" operation="-"/> <entry key="StringEquals" type="string" value="testValue"/> </propertyfile> </target>The <propertyfile> task must have:
Other parameters are:
- file
- comment
- key
- operation
- type
- value (the final four being eliminated shortly)
The <entry> task must have:
Other parameters are:
- key
- operation
- type
- value
- default
- unit
If type is unspecified, it defaults to string.
Parameter values:
- operation:
- "=" (set -- default)
- "-" (dec)
- "+" (inc)
- type:
- "int"
- "date"
- "string"
- value:
- holds the default value, if the property was not found in property file
- "now" In case of type "date", the value "now" will be replaced by the current date/time and used even if a valid date was found in the property file.
String property types can only use the "=" operation. Int property types can only use the "=", "-" or "+" operations.
The message property is used for the property file header, with "\\" being a newline delimiter character.
Nested Class Summary
Nested Classes Modifier and Type Class and Description static classPropertyFile.EntryInstance of this class represents nested elements of a task propertyfile.static classPropertyFile.UnitBorrowed from Tstamp
Field Summary
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
Constructor Summary
Constructors Constructor and Description PropertyFile()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description PropertyFile.EntrycreateEntry()The entry nested element.voidexecute()Execute the task.voidsetComment(java.lang.String hdr)optional header comment for the filevoidsetFile(java.io.File file)Location of the property file to be edited; required.voidsetJDKProperties(boolean val)optional flag to use original Java properties (as opposed to layout preserving properties)
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
Method Detail
execute
public void execute() throws BuildExceptionExecute the task.
- Overrides:
executein classTask- Throws:
BuildException- on error.
createEntry
public PropertyFile.Entry createEntry()The entry nested element.
- Returns:
- an entry nested element to be configured.
setFile
public void setFile(java.io.File file)Location of the property file to be edited; required.
- Parameters:
file- the property file.
setComment
public void setComment(java.lang.String hdr)optional header comment for the file
- Parameters:
hdr- the string to use for the comment.
setJDKProperties
public void setJDKProperties(boolean val)optional flag to use original Java properties (as opposed to layout preserving properties)
- Parameters:
val- boolean