# 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

  Modifier and Type
  Method
  Description
  `@Nullable String`
  `getArguments()`
  The arguments of the matcher or null if it has children.
  `Set<ResourceFilterMatcher>`
  `getChildren()`
  The child matchers of this matcher, e.g.
  `@Nullable 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(String arguments)`
  Sets the arguments of the matcher.
  `void`
  `setId(String id)`
  Sets the id of the matcher type.

- ## Method Details

  - ### getId

    @Nullable 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(String id)
    Sets the id of the matcher type.
    Parameters:
      `id` - the id, cannot be null

  - ### getArguments

    @Nullable String getArguments()
    The arguments of the matcher or null if it has children.

  - ### setArguments

    void setArguments(String arguments)
    Sets the arguments of the matcher.
    Parameters:
      `arguments` - the arguments or null if the matcher should have child matchers instead

  - ### getChildren

    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.