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:
Cloneable
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
Modifier and TypeClassDescriptionstatic class
Instance of this class represents nested elements of a task propertyfile.static class
Borrowed from Tstamp -
Field Summary
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionThe entry nested element.void
execute()
Execute the task.void
setComment
(String hdr) optional header comment for the filevoid
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
Location of the property file to be edited; required.- Parameters:
file
- the property file.
-
setComment
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
-