# FilterSet Type

## Filterset

FilterSets are groups of filters. Filters can be defined as token value pairs or be read in from a file. FilterSets can appear inside tasks that support this feature or at the same level as `target` - i.e., as children of `project`.

In addition, Filtersets can have begintoken and/or endtoken attributes to define what to match.
Filtersets are used for doing replacements in tasks like copy etc.

## Filterset

Attribute | Description | Default | Required
begintoken | The string marking the beginning of a token. eg @Date@ | @ | No
endtoken | The string marking the end of a token. eg @Date@ | @ | No

## Filter

Attribute | Description | Required
token | The token to replace eg @Date@ | Yes
value | The value to replace it with eg Thursday, April 26, 2001 | Yes

## Filtersfile

Attribute | Description | Required
file | The file to load tokens from should be a properties file of name value pairs. | Yes

#### Examples

You are copying the version.txt file to the dist directory from the build directory but wish to replace the token @DATE@ with todays date.

>     <copy file="${build.home}/version.txt" toFile="${dist.home}/version.txt">
>       <filterset>
>         <filter token="DATE" value="${DATE}"/>
>       </filterset>
>     </copy>

You are copying the version.txt file to the dist directory from the build directory but wish to replace the token %DATE* with todays date.

>     <copy file="${build.home}/version.txt" toFile="${dist.home}/version.txt">
>       <filterset begintoken="%" endtoken="*">
>         <filter token="DATE" value="${DATE}"/>
>       </filterset>
>     </copy>

Copy all the docs but change all dates and appropriate notices as stored in a file.

>     <copy toDir="${dist.home}/docs" >
>       <fileset dir="${build.home}/docs">
>         <include name="**/*.html">
>       </fileset>
>       <filterset begintoken="%" endtoken="*">
>         <filter token="DATE" value="${DATE}"/>
>         <filtersfile file="${user.home}/dist.properties"/>
>       </filterset>
>     </copy>

Copyright © 2001 Apache Software Foundation. All rights Reserved.