Class 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 Task
Modifies 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:
- file
- comment
- key
- operation
- type
- value (the final four being eliminated shortly)
The <entry> task must have:
- 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 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 Description PropertyFile()
-
Method Summary
Modifier and Type Method 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
-
-