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 class
PropertyFile.Entry
Instance of this class represents nested elements of a task propertyfile.static class
PropertyFile.Unit
Borrowed 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.Entry
createEntry()
The entry nested element.void
execute()
Execute the task.void
setComment(java.lang.String hdr)
optional header comment for the filevoid
setFile(java.io.File file)
Location of the property file to be edited; required.void
setJDKProperties(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:
execute
in 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