Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | METHOD | DETAIL: FIELD | METHOD

## org.gradle.api.file
[Java] Interface ContentFilterable

    public interface ContentFilterable

Represents some binary resource whose content can be filtered.

Method Summary
`ContentFilterable` | `expand(java.util.Map properties)`
`ContentFilterable` | `filter(java.util.Map properties, java.lang.Class filterType)`
`ContentFilterable` | `filter(java.lang.Class filterType)`
`ContentFilterable` | `filter(groovy.lang.Closure closure)` Adds a content filter based on the provided closure.

Method Detail

### expand

    public ContentFilterable expand(java.util.Map properties)

  Expands property references in each file as it is copied. More specifically, each file is transformed using Groovy's groovy.text.SimpleTemplateEngine. This means you can use simple property references, such as `$property` or `${property}` in the file. You can also include arbitrary Groovy code in the file, such as `${version ?: 'unknown'}` or `${classpath*.name.join(' ')}`

  Parameters:
    `properties` - to implement line based filtering
  Returns:
    this

### filter

    public ContentFilterable filter(java.util.Map properties, java.lang.Class filterType)

  Adds a content filter to be used during the copy. Multiple calls to filter, add additional filters to the filter chain. Each filter should implement `java.io.FilterReader`. Include `org.apache.tools.ant.filters.*` for access to all the standard Ant filters.

  Filter properties may be specified using groovy map syntax.

  Examples:

          filter(HeadFilter, lines:25, skip:2)
          filter(ReplaceTokens, tokens:[copyright:'2009', version:'2.3.1'])

  Parameters:
    `properties` - map of filter properties
    `filterType` - Class of filter to add
  Returns:
    this

### filter

    public ContentFilterable filter(java.lang.Class filterType)

  Adds a content filter to be used during the copy. Multiple calls to filter, add additional filters to the filter chain. Each filter should implement `java.io.FilterReader`. Include `org.apache.tools.ant.filters.*` for access to all the standard Ant filters.

  Examples:

          filter(StripJavaComments)
          filter(com.mycompany.project.CustomFilter)

  Parameters:
    `filterType` - Class of filter to add
  Returns:
    this

### filter

    public ContentFilterable filter(groovy.lang.Closure closure)

  Adds a content filter based on the provided closure. The Closure will be called with each line (stripped of line endings) and should return a String to replace the line.
  Parameters:
    `closure` - to implement line based filtering
  Returns:
    this

Groovy Documentation