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 class
PropertyFile.Entry
Instance of this class represents nested elements of a task propertyfile.static class
PropertyFile.Unit
Borrowed from Tstamp -
Field Summary
-
Constructor Summary
Constructors Constructor Description PropertyFile()
-
Method Summary
Modifier and Type Method 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
-
Constructor Details
-
PropertyFile
public PropertyFile()
-
-
Method Details
-
execute
Execute the task.- Overrides:
execute
in classTask
- Throws:
BuildException
- on error.
-
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
-