org.codehaus.plexus.util

## Interface Scanner

All Known Implementing Classes:
  AbstractScanner, DirectoryScanner

    public interface Scanner

Scan a directory tree for files, with specified inclusions and exclusions.

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addDefaultExcludes()` Adds default exclusions to the current exclusions set.
`File` `getBasedir()` Returns the base directory to be scanned.
`String[]` `getIncludedDirectories()` Returns the names of the directories which matched at least one of the include patterns and none of the exclude patterns.
`String[]` `getIncludedFiles()` Returns the names of the files which matched at least one of the include patterns and none of the exclude patterns.
`void` `scan()` Scans the base directory for files which match at least one include pattern and don't match any exclude patterns.
`void` `setExcludes(String[] excludes)` Sets the list of exclude patterns to use.
`void` `setIncludes(String[] includes)` Sets the list of include patterns to use.

### Method Detail

#### setIncludes

    void setIncludes(String[] includes)

Sets the list of include patterns to use. All '/' and '\' characters are replaced by `File.separatorChar`, so the separator used need not match `File.separatorChar`.

When a pattern ends with a '/' or '\', "**" is appended.

Parameters:
  `includes` - A list of include patterns. May be `null`, indicating that all files should be included. If a non-`null` list is given, all elements must be non-`null`.

#### setExcludes

    void setExcludes(String[] excludes)

Sets the list of exclude patterns to use. All '/' and '\' characters are replaced by `File.separatorChar`, so the separator used need not match `File.separatorChar`.

When a pattern ends with a '/' or '\', "**" is appended.

Parameters:
  `excludes` - A list of exclude patterns. May be `null`, indicating that no files should be excluded. If a non-`null` list is given, all elements must be non-`null`.

#### addDefaultExcludes

    void addDefaultExcludes()

Adds default exclusions to the current exclusions set.

#### scan

    void scan()

Scans the base directory for files which match at least one include pattern and don't match any exclude patterns.

Throws:
  `IllegalStateException` - if the base directory was set incorrectly (i.e. if it is `null`, doesn't exist, or isn't a directory).

#### getIncludedFiles

    String[] getIncludedFiles()

Returns the names of the files which matched at least one of the include patterns and none of the exclude patterns. The names are relative to the base directory.

Returns:
  the names of the files which matched at least one of the include patterns and none of the exclude patterns.

#### getIncludedDirectories

    String[] getIncludedDirectories()

Returns the names of the directories which matched at least one of the include patterns and none of the exclude patterns. The names are relative to the base directory.

Returns:
  the names of the directories which matched at least one of the include patterns and none of the exclude patterns.

#### getBasedir

    File getBasedir()

Returns the base directory to be scanned. This is the directory which is scanned recursively.

Returns:
  the base directory to be scanned