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 SummaryNested ClassesModifier and TypeClassDescriptionstatic classInstance of this class represents nested elements of a task propertyfile.static classBorrowed from Tstamp
- 
Field SummaryFields inherited from class org.apache.tools.ant.ProjectComponentdescription, location, project
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionThe entry nested element.voidexecute()Execute the task.voidsetComment(String hdr) optional header comment for the filevoidLocation 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.TaskbindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeMethods inherited from class org.apache.tools.ant.ProjectComponentclone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
- 
Constructor Details- 
PropertyFilepublic PropertyFile()
 
- 
- 
Method Details- 
executeExecute the task.- Overrides:
- executein class- Task
- Throws:
- BuildException- on error.
 
- 
createEntryThe entry nested element.- Returns:
- an entry nested element to be configured.
 
- 
setFileLocation of the property file to be edited; required.- Parameters:
- file- the property file.
 
- 
setCommentoptional header comment for the file- Parameters:
- hdr- the string to use for the comment.
 
- 
setJDKPropertiespublic void setJDKProperties(boolean val) optional flag to use original Java properties (as opposed to layout preserving properties)- Parameters:
- val- boolean
 
 
-