Package org.gradle.plugins.ide.eclipse.model

# Interface ResourceFilter

@Incubating public interface ResourceFilter
The gradle DSL model of an Eclipse resource filter. This allows specifying a filter with a custom matcher and configuring whether it is an include/exclude filter that applies to files, folders, or both. The following example excludes the 'node_modules' folder.

     apply plugin: 'java'
     apply plugin: 'eclipse'

     eclipse {
       project {
         resourceFilter {
           appliesTo = 'FOLDERS'
           type = 'EXCLUDE_ALL'
           matcher {
             id = 'org.eclipse.ui.ide.multiFilter'
             // to find out which arguments to use, configure the desired
             // filter with Eclipse's UI and copy the arguments string over
             arguments = '1.0-name-matches-false-false-node_modules'
           }
         }
       }
     }

Since:
  3.5

## Method Summary

Modifier and Type
Method
Description
`ResourceFilterAppliesTo`
`getAppliesTo()`
Indicates whether this ResourceFilter applies to files, folders, or both.
`ResourceFilterMatcher`
`getMatcher()`
Gets the matcher of this ResourceFilter.
`ResourceFilterType`
`getType()`
Specifies whether this ResourceFilter is including or excluding resources.
`boolean`
`isRecursive()`
Indicates whether this ResourceFilter applies recursively to all children of the project it is created on.
`ResourceFilterMatcher`
`matcher(Action<? super ResourceFilterMatcher> configureAction)`
Configures the matcher of this resource filter.
`void`
`setAppliesTo(ResourceFilterAppliesTo appliesTo)`
Indicates whether this ResourceFilter applies to files, folders, or both.
`void`
`setRecursive(boolean recursive)`
Sets whether this ResourceFilter applies recursively or not.
`void`
`setType(ResourceFilterType type)`
Sets the ResourceFilterType

## Method Details

### getAppliesTo

ResourceFilterAppliesTo getAppliesTo()
Indicates whether this ResourceFilter applies to files, folders, or both. Default is FILES_AND_FOLDERS

### setAppliesTo

void setAppliesTo(ResourceFilterAppliesTo appliesTo)
Indicates whether this ResourceFilter applies to files, folders, or both. Default is FILES_AND_FOLDERS

Throws:
  `InvalidUserDataException` - if appliesTo is null.

### getType

ResourceFilterType getType()
Specifies whether this ResourceFilter is including or excluding resources. Default is EXCLUDE_ALL

### setType

void setType(ResourceFilterType type)
Sets the ResourceFilterType

Throws:
  `InvalidUserDataException` - if type is null.

### isRecursive

boolean isRecursive()
Indicates whether this ResourceFilter applies recursively to all children of the project it is created on. Default is true.

### setRecursive

void setRecursive(boolean recursive)
Sets whether this ResourceFilter applies recursively or not.

### getMatcher

ResourceFilterMatcher getMatcher()
Gets the matcher of this ResourceFilter.

### matcher

ResourceFilterMatcher matcher(Action<? super ResourceFilterMatcher> configureAction)
Configures the matcher of this resource filter. Will create the matcher if it does not yet exist, or configure the existing matcher if it already exists.

Parameters:
  `configureAction` - The action to use to configure the matcher.