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
Nested ClassesModifier and TypeClassDescriptionstatic classInstance of this class represents nested elements of a task propertyfile.static classBorrowed from Tstamp -
Field Summary
Fields inherited from class ProjectComponent
description, location, project -
Constructor Summary
Constructors -
Method Summary
Modifier 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 Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeModifier and TypeMethodDescriptionfinal voidbindToOwner(Task owner) Bind a task to another; use this when configuring a newly created task to do work on behalf of another.Returns the container target of this task.Returns the wrapper used for runtime configuration.Returns the name to use in logging messages.Return the type of task.protected RuntimeConfigurableReturn the runtime configurable structure for this task.protected voidhandleErrorFlush(String output) Handles an error line by logging it with the WARN priority.protected voidhandleErrorOutput(String output) Handles an error output by logging it with the WARN priority.protected voidhandleFlush(String output) Handles output by logging it with the INFO priority.protected inthandleInput(byte[] buffer, int offset, int length) Handle an input request by this task.protected voidhandleOutput(String output) Handles output by logging it with the INFO priority.voidinit()Called by the project to let the task initialize properly.protected final booleanHas this task been marked invalid?voidLogs a message with the default (INFO) priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidConfigures this task - if it hasn't been done already.final voidperform()Performs this task if it's still valid, or gets a replacement version and performs that otherwise.voidForce the task to be reconfigured from its RuntimeConfigurable.voidsetOwningTarget(Target target) Sets the target container of this task.voidSets the wrapper to be used for runtime configuration.voidsetTaskName(String name) Sets the name to use in logging messages.voidsetTaskType(String type) Sets the name with which the task has been invoked.Methods inherited from class ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProjectModifier and TypeMethodDescriptionclone()Returns the description of the current action.Returns the file/location where this task was defined.Returns the project to which this component belongs.voidsetDescription(String desc) Sets a description of the current action.voidsetLocation(Location location) Sets the file/location where this task was defined.voidsetProject(Project project) Sets the project object of this component.
-
Constructor Details
-
PropertyFile
public PropertyFile()
-
-
Method Details
-
execute
Execute the task.- Overrides:
executein 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
-