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

## Interface ResourceFilterMatcher

-     public interface ResourceFilterMatcher

  The model of an Eclipse resource filter matcher.

  The matcher decides when the containing filter (or containing matcher) applies. The matcher configures things like whether this ResourceFilter matches resources by name, project relative path, location, last modified, etc. Eclipse has many types of built-in matchers and it is possible to specify the id and arguments for custom matchers using this model.

  A matcher must have an id. It may have either a custom string argument or a set of nested child matchers (e.g. an 'or' matcher will have several nested condition matchers).

  For more documentation on usage with examples, see `ResourceFilter`.

  Since:
    3.5

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getArguments()` | The arguments of the matcher or null if it has children.
    `java.util.Set<ResourceFilterMatcher>` | `getChildren()` | The child matchers of this matcher, e.g.
    `java.lang.String` | `getId()` | The id of the matcher type, as defined by its Eclipse extension.
    `ResourceFilterMatcher` | `matcher​(Action<? super ResourceFilterMatcher> configureAction)` | Adds a child/nested matcher to this matcher.
    `void` | `setArguments​(java.lang.String arguments)` | Sets the arguments of the matcher.
    `void` | `setId​(java.lang.String id)` | Sets the id of the matcher type.

- - ### Method Detail

    - #### getId

          @Nullable
          java.lang.String getId()

      The id of the matcher type, as defined by its Eclipse extension. Can be null on a newly created matcher, but must be set in order to be considered valid.

    - #### setId

          void setId​(java.lang.String id)

      Sets the id of the matcher type.
      Parameters:
        `id` - the id, cannot be null

    - #### getArguments

          @Nullable
          java.lang.String getArguments()

      The arguments of the matcher or null if it has children.

    - #### setArguments

          void setArguments​(java.lang.String arguments)

      Sets the arguments of the matcher.
      Parameters:
        `arguments` - the arguments or null if the matcher should have child matchers instead

    - #### getChildren

          java.util.Set<ResourceFilterMatcher> getChildren()

      The child matchers of this matcher, e.g. when this is an OR-matcher.

    - #### matcher

          ResourceFilterMatcher matcher​(Action<? super ResourceFilterMatcher> configureAction)

      Adds a child/nested matcher to this matcher.
      Parameters:
        `configureAction` - The action to use to configure the matcher.