diff options
Diffstat (limited to 'docs/manual/tasks/propertyselector.html')
-rw-r--r-- | docs/manual/tasks/propertyselector.html | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/docs/manual/tasks/propertyselector.html b/docs/manual/tasks/propertyselector.html new file mode 100644 index 0000000..4e5102e --- /dev/null +++ b/docs/manual/tasks/propertyselector.html @@ -0,0 +1,139 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> + <head> + <title>Ant-contrib Tasks: PropertySelector</title> + </head> + + <body> + <h1>PropertySelector</h1> + + <p>Selects property names that match a given regular expression and + returns them in a delimited list</p> + + <h2>Parameters</h2> + <table border="1" cellpadding="2" cellspacing="0"> + <tr> + <th>Attribute</th> + <th>Description</th> + <th>Required</th> + </tr> + <tr> + <td valign="top">property</td> + <td valign="top">The name of the property you wish to set.</td> + <td align="center" valign="top">Yes.</td> + </tr> + <tr> + <td valign="top">override</td> + <td valign="top">If the property is already set, should we change it's value. + Can be <code>true</code> or <code>false</code></td> + <td align="center" valign="top">No. Defaults to <code>false</code></td> + </tr> + <tr> + <td valign="top">match</td> + <td valign="top">The regular expression which is used to select + property names for inclusion in the list. This follows + the standard regular expression syntax accepted by ant's + regular expression tasks.</td> + <td align="center" valign="top">Yes.</td> + </tr> + <tr> + <td valign="top">select</td> + <td valign="top">A pattern which indicates what selection pattern you want + in the returned list. This used the substitution pattern + syntax to indicate where to insert groupings created as a result + of the regular expression match.</td> + <td align="center" valign="top">No. default is "\0".</td> + </tr> + <tr> + <td valign="top">casesensitive</td> + <td valign="top">Should the match be case sensitive</td> + <td align="center" valign="top">No. default is "true".</td> + </tr> + <tr> + <td valign="top">delimiter</td> + <td valign="top">The delimiter used to seperate entries in the resulting + property</td> + <td align="center" valign="top">No. default is ",".</td> + </tr> + <tr> + <td valign="top">distinct</td> + <td valign="top">Should the returned entries be a distinct set (no duplicate + entries)</td> + <td align="center" valign="top">No. default is "false".</td> + </tr> + </table> + + <h2>Select expressions</h2> + + Expressions are selected in a the same syntax as a regular expression + substitution pattern. + + <ul type="o"> + <li><code>\0</code> indicates the entire property name (default). + <li><code>\1</code> indicates the first grouping + <li><code>\2</code> indicates the second grouping + <li>etc... + </ul> + + <h2>Example</h2> + + The following code + + <pre> + <code> + <property name="package.ABC.name" value="abc pack name" /> + <property name="package.DEF.name" value="def pack name" /> + <property name="package.GHI.name" value="ghi pack name" /> + <property name="package.JKL.name" value="jkl pack name" /> + + <propertyselector property="pack.list" + delimiter="," + match="package\.([^\.]*)\.name" + select="\1" + casesensitive="false" /> + + </code> + </pre> + + would yield the results + + <pre> + <code> + ABC,DEF,GHI,JKL + </code> + </pre> + + You could then iterate through this list using the <a href="foreach.html" + >ForEach Task</a> as follows: + + <pre> + <code> + <foreach list="${pack.list}" + delimiter="," + target="print.name" + param="pack.id" /> + + <target name="print.name" > + <propertycopy name="pack.name" value="package.${pack.id}.name" /> + <echo message="${pack.name}" /> + </target> + </code> + </pre> + + Would print + + <pre> + <code> + [echo] abc pack name + [echo] def pack name + [echo] ghi pack name + [echo] jkl pack name + </code> + </pre> + + <hr> + <p align="center">Copyright © 2003 Ant-Contrib Project. All + rights Reserved.</p> + + </body> +</html> |