Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tools.ant.taskdefs.optional
Class PropertyFile

    java.lang.Object
      |
      +--org.apache.tools.ant.Task
            |
            +--org.apache.tools.ant.taskdefs.optional.PropertyFile

public class PropertyFile
extends Task

PropertyFile task uses java.util.Properties to modify integer, String and Date 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" operation="now" />
<entry key="intSet" type="int" operation="=" value="681"/>
<entry key="intDec" type="int" operation="-"/>
<entry key="NeverDate" type="date" operation="never"/>
<entry key="StringEquals" type="string" value="testValue"/>
<entry key="NowDate" type="date" operation="now"/>

</propertyfile>

</target>

The <propertyfile> task must have:

- file

Other parameters are:

- comment, key, operation, type and value (the final four being eliminated shortly)

The <entry> task must have:

- key

Other parameters are:

- operation
- type
- value
- offset

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.

- offset:
  valid for "-" or "+", the offset (default set to 1) will be added or subtracted from "int" or "date" type value.

String property types can only use the "=" operation. Date property types can only use the "never" or "now" operations. Int property types can only use the "=", "-" or "+" operations.

The message property is used for the property file header, with "\\" being a newline delimiter charater.

Author:
  Thomas Christen chr@active.ch, Jeremy Mawson

  Inner Class Summary
  `static class` | `PropertyFile.Entry` Instance of this class represents nested elements of a task propertyfile.

  Fields inherited from class org.apache.tools.ant.Task
  `description, location, project, target, taskName, taskType, wrapper`

  Constructor Summary
  `PropertyFile()`

  Method Summary
  `PropertyFile.Entry` | `createEntry()`
  `void` | `execute()` Called by the project to let the task do it's work.
  `void` | `setComment(java.lang.String hdr)`
  `void` | `setFile(java.io.File file)`

  Methods inherited from class org.apache.tools.ant.Task
  `getDescription, getLocation, getOwningTarget, getProject, getRuntimeConfigurableWrapper, getTaskName, init, log, log, maybeConfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName`

  Methods inherited from class java.lang.Object
  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  Constructor Detail

  ### PropertyFile

      public PropertyFile()

  Method Detail

  ### execute

      public void execute()
                   throws BuildException

    Description copied from class: `Task`
    Called by the project to let the task do it's work. This method may be called more than once, if the task is invoked more than once. For example, if target1 and target2 both depend on target3, then running "ant target1 target2" will run all tasks in target3 twice.
    Overrides:
      `execute` in class `Task`
    Following copied from class: `org.apache.tools.ant.Task`
    Throws:
      `BuildException` - if someting goes wrong with the build

  ### createEntry

      public PropertyFile.Entry createEntry()

  ### setFile

      public void setFile(java.io.File file)

  ### setComment

      public void setComment(java.lang.String hdr)

  Overview | Package | Class | Tree | Deprecated | Index | Help
  PREV CLASS NEXT CLASS | FRAMES NO FRAMES
  SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

  Copyright © 2000 Apache Software Foundation. All Rights Reserved.