DependScanner (Apache Ant API)
Date: 2021-07-10

org.apache.tools.ant.types.optional.depend

## Class DependScanner

- java.lang.Object
- - org.apache.tools.ant.DirectoryScanner
  - - org.apache.tools.ant.types.optional.depend.DependScanner

- All Implemented Interfaces:
    FileScanner, ResourceFactory, SelectorScanner

      public class DependScanner
      extends DirectoryScanner

  DirectoryScanner for finding class dependencies.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `DEFAULT_ANALYZER_CLASS` The name of the analyzer to use by default.

    - ### Fields inherited from class org.apache.tools.ant.DirectoryScanner

      `basedir, DEFAULTEXCLUDES, dirsDeselected, dirsExcluded, dirsIncluded, dirsNotIncluded, DOES_NOT_EXIST_POSTFIX, errorOnMissingDir, everythingIncluded, excludes, filesDeselected, filesExcluded, filesIncluded, filesNotIncluded, haveSlowResults, includes, isCaseSensitive, MAX_LEVELS_OF_SYMLINKS, selectors`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DependScanner(DirectoryScanner parentScanner)` Create a DependScanner, using the given scanner to provide the basic set of files from which class files come.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addBasedir(java.io.File baseDir)`
    `void` | `addDefaultExcludes()` Add default exclusions to the current exclusions set.
    `java.lang.String[]` | `getExcludedDirectories()` Return the names of the directories which matched at least one of the include patterns and at least one of the exclude patterns.
    `java.lang.String[]` | `getExcludedFiles()` Return the names of the files which matched at least one of the include patterns and at least one of the exclude patterns.
    `java.lang.String[]` | `getIncludedDirectories()` Return the names of the directories which matched at least one of the include patterns and none of the exclude patterns.
    `int` | `getIncludedDirsCount()` Return the count of included directories.
    `java.lang.String[]` | `getIncludedFiles()` Get the names of the class files on which baseClass depends.
    `int` | `getIncludedFilesCount()` Return the count of included files.
    `java.lang.String[]` | `getNotIncludedDirectories()` Return the names of the directories which matched none of the include patterns.
    `java.lang.String[]` | `getNotIncludedFiles()` Return the names of the files which matched none of the include patterns.
    `void` | `scan()` Scans the base directory for files on which baseClass depends.
    `void` | `setCaseSensitive(boolean isCaseSensitive)` Set whether or not include and exclude patterns are matched in a case sensitive way.
    `void` | `setExcludes(java.lang.String[] excludes)` Set the list of exclude patterns to use.
    `void` | `setIncludes(java.lang.String[] includes)` Set the list of include patterns to use.
    `void` | `setRootClasses(java.util.Vector<java.lang.String> rootClasses)` Sets the root classes to be used to drive the scan.

    - ### Methods inherited from class org.apache.tools.ant.DirectoryScanner

      `addDefaultExclude, addExcludes, clearResults, couldHoldIncluded, getBasedir, getDefaultExcludes, getDeselectedDirectories, getDeselectedFiles, getNotFollowedSymlinks, getResource, isCaseSensitive, isEverythingIncluded, isExcluded, isFollowSymlinks, isIncluded, isSelected, match, match, matchPath, matchPath, matchPatternStart, matchPatternStart, removeDefaultExclude, resetDefaultExcludes, scandir, setBasedir, setBasedir, setErrorOnMissingDir, setFollowSymlinks, setMaxLevelsOfSymlinks, setSelectors, slowScan`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_ANALYZER_CLASS

          public static final java.lang.String DEFAULT_ANALYZER_CLASS

      The name of the analyzer to use by default.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### DependScanner

          public DependScanner(DirectoryScanner parentScanner)

      Create a DependScanner, using the given scanner to provide the basic set of files from which class files come.
      Parameters:
        `parentScanner` - the DirectoryScanner which returns the files from which class files must come.

  - ### Method Detail

    - #### setRootClasses

          public void setRootClasses(java.util.Vector<java.lang.String> rootClasses)

      Sets the root classes to be used to drive the scan.
      Parameters:
        `rootClasses` - the rootClasses to be used for this scan.

    - #### getIncludedFiles

          public java.lang.String[] getIncludedFiles()

      Get the names of the class files on which baseClass depends.
      Specified by:
        `getIncludedFiles` in interface `FileScanner`
      Overrides:
        `getIncludedFiles` in class `DirectoryScanner`
      Returns:
        the names of the files.

    - #### getIncludedFilesCount

          public int getIncludedFilesCount()

      Return the count of included files..
      Overrides:
        `getIncludedFilesCount` in class `DirectoryScanner`
      Returns:
        `int`.

    - #### scan

          public void scan()
                    throws java.lang.IllegalStateException

      Scans the base directory for files on which baseClass depends.
      Specified by:
        `scan` in interface `FileScanner`
      Overrides:
        `scan` in class `DirectoryScanner`
      Throws:
        `java.lang.IllegalStateException` - when basedir was set incorrectly.

    - #### addDefaultExcludes

          public void addDefaultExcludes()

      Description copied from class: `DirectoryScanner`
      Add default exclusions to the current exclusions set.
      Specified by:
        `addDefaultExcludes` in interface `FileScanner`
      Overrides:
        `addDefaultExcludes` in class `DirectoryScanner`
      See Also:
        `DirectoryScanner.addDefaultExcludes()`

    - #### getExcludedDirectories

          public java.lang.String[] getExcludedDirectories()

      Description copied from class: `DirectoryScanner`
      Return the names of the directories which matched at least one of the include patterns and at least one of the exclude patterns. The names are relative to the base directory. This involves performing a slow scan if one has not already been completed.
      Specified by:
        `getExcludedDirectories` in interface `FileScanner`
      Overrides:
        `getExcludedDirectories` in class `DirectoryScanner`
      Returns:
        the names of the directories which matched at least one of the include patterns and at least one of the exclude patterns.
      See Also:
        `{@inheritDoc}.`

    - #### getExcludedFiles

          public java.lang.String[] getExcludedFiles()

      Description copied from class: `DirectoryScanner`
      Return the names of the files which matched at least one of the include patterns and at least one of the exclude patterns. The names are relative to the base directory. This involves performing a slow scan if one has not already been completed.
      Specified by:
        `getExcludedFiles` in interface `FileScanner`
      Overrides:
        `getExcludedFiles` in class `DirectoryScanner`
      Returns:
        the names of the files which matched at least one of the include patterns and at least one of the exclude patterns.
      See Also:
        `{@inheritDoc}.`

    - #### getIncludedDirectories

          public java.lang.String[] getIncludedDirectories()

      Description copied from class: `DirectoryScanner`
      Return 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.
      Specified by:
        `getIncludedDirectories` in interface `FileScanner`
      Overrides:
        `getIncludedDirectories` in class `DirectoryScanner`
      Returns:
        the names of the directories which matched at least one of the include patterns and none of the exclude patterns.
      See Also:
        `{@inheritDoc}.`

    - #### getIncludedDirsCount

          public int getIncludedDirsCount()

      Description copied from class: `DirectoryScanner`
      Return the count of included directories.
      Overrides:
        `getIncludedDirsCount` in class `DirectoryScanner`
      Returns:
        `int`.
      See Also:
        `{@inheritDoc}.`

    - #### getNotIncludedDirectories

          public java.lang.String[] getNotIncludedDirectories()

      Description copied from class: `DirectoryScanner`
      Return the names of the directories which matched none of the include patterns. The names are relative to the base directory. This involves performing a slow scan if one has not already been completed.
      Specified by:
        `getNotIncludedDirectories` in interface `FileScanner`
      Overrides:
        `getNotIncludedDirectories` in class `DirectoryScanner`
      Returns:
        the names of the directories which matched none of the include patterns.
      See Also:
        `{@inheritDoc}.`

    - #### getNotIncludedFiles

          public java.lang.String[] getNotIncludedFiles()

      Return the names of the files which matched none of the include patterns. The names are relative to the base directory. This involves performing a slow scan if one has not already been completed..
      Specified by:
        `getNotIncludedFiles` in interface `FileScanner`
      Overrides:
        `getNotIncludedFiles` in class `DirectoryScanner`
      Returns:
        the names of the files which matched none of the include patterns.
      See Also:
        `DirectoryScanner.slowScan()`

    - #### setExcludes

          public void setExcludes(java.lang.String[] excludes)

      Set 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..

      Specified by:
        `setExcludes` in interface `FileScanner`
      Overrides:
        `setExcludes` in class `DirectoryScanner`
      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`.

    - #### setIncludes

          public void setIncludes(java.lang.String[] includes)

      Set 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..

      Specified by:
        `setIncludes` in interface `FileScanner`
      Overrides:
        `setIncludes` in class `DirectoryScanner`
      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`.

    - #### setCaseSensitive

          public void setCaseSensitive(boolean isCaseSensitive)

      Set whether or not include and exclude patterns are matched in a case sensitive way..
      Specified by:
        `setCaseSensitive` in interface `FileScanner`
      Overrides:
        `setCaseSensitive` in class `DirectoryScanner`
      Parameters:
        `isCaseSensitive` - whether or not the file system should be regarded as a case sensitive one.

    - #### addBasedir

          public void addBasedir(java.io.File baseDir)