DependScanner (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.types.optional.depend, class: DependScanner

# 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
  Description
  `static final String`
  `DEFAULT_ANALYZER_CLASS`
  The name of the analyzer to use by default.

  ### Fields inherited from class 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`
  Modifier and Type
  Field
  Description
  `protected File`
  `basedir`
  The base directory to be scanned.
  `protected static final String[]`
  `DEFAULTEXCLUDES`
  Deprecated.
  since 1.6.x.
  `protected Vector<String>`
  `dirsDeselected`
  The directories which matched at least one include and no excludes but which a selector discarded.
  `protected Vector<String>`
  `dirsExcluded`
  The directories which matched at least one include and at least one exclude.
  `protected Vector<String>`
  `dirsIncluded`
  The directories which matched at least one include and no excludes and were selected.
  `protected Vector<String>`
  `dirsNotIncluded`
  The directories which were found and did not match any includes.
  `static final String`
  `DOES_NOT_EXIST_POSTFIX`
  The end of the exception message if something that should be there doesn't exist.
  `protected boolean`
  `errorOnMissingDir`
  Whether a missing base directory is an error.
  `protected boolean`
  `everythingIncluded`
  Whether or not everything tested so far has been included.
  `protected String[]`
  `excludes`
  The patterns for the files to be excluded.
  `protected Vector<String>`
  `filesDeselected`
  The files which matched at least one include and no excludes and which a selector discarded.
  `protected Vector<String>`
  `filesExcluded`
  The files which matched at least one include and at least one exclude.
  `protected Vector<String>`
  `filesIncluded`
  The files which matched at least one include and no excludes and were selected.
  `protected Vector<String>`
  `filesNotIncluded`
  The files which did not match any includes or selectors.
  `protected boolean`
  `haveSlowResults`
  Whether or not our results were built by a slow scan.
  `protected String[]`
  `includes`
  The patterns for the files to be included.
  `protected boolean`
  `isCaseSensitive`
  Whether or not the file system should be treated as a case sensitive one.
  `static final int`
  `MAX_LEVELS_OF_SYMLINKS`
  default value for `maxLevelsOfSymlinks`
  `protected FileSelector[]`
  `selectors`
  Selectors that will filter which files are in our candidate list.

- ## Constructor Summary

  Constructors
  Constructor
  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

  Modifier and Type
  Method
  Description
  `void`
  `addBasedir(File baseDir)`
  `void`
  `addDefaultExcludes()`
  Add default exclusions to the current exclusions set.
  `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.
  `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.
  `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.
  `String[]`
  `getIncludedFiles()`
  Get the names of the class files on which baseClass depends.
  `int`
  `getIncludedFilesCount()`
  Return the count of included files.
  `String[]`
  `getNotIncludedDirectories()`
  Return the names of the directories which matched none of the include patterns.
  `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(String[] excludes)`
  Set the list of exclude patterns to use.
  `void`
  `setIncludes(String[] includes)`
  Set the list of include patterns to use.
  `void`
  `setRootClasses(Vector<String> rootClasses)`
  Sets the root classes to be used to drive the scan.

  ### Methods inherited from class 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`
  Modifier and Type
  Method
  Description
  `static boolean`
  `addDefaultExclude(String s)`
  Add a pattern to the default excludes unless it is already a default exclude.
  `void`
  `addExcludes(String[] excludes)`
  Add to the list of exclude patterns to use.
  `protected void`
  `clearResults()`
  Clear the result caches for a scan.
  `protected boolean`
  `couldHoldIncluded(String name)`
  Test whether or not a name matches the start of at least one include pattern.
  `File`
  `getBasedir()`
  Return the base directory to be scanned.
  `static String[]`
  `getDefaultExcludes()`
  Get the list of patterns that should be excluded by default.
  `String[]`
  `getDeselectedDirectories()`
  Return the names of the directories which were selected out and therefore not ultimately included.
  `String[]`
  `getDeselectedFiles()`
  Return the names of the files which were selected out and therefore not ultimately included.
  `String[]`
  `getNotFollowedSymlinks()`
  Absolute paths of all symbolic links or Windows junctions that haven't been followed but would have been followed had followsymlinks been true or maxLevelsOfSymlinks been bigger.
  `Resource`
  `getResource(String name)`
  Get the named resource.
  `boolean`
  `isCaseSensitive()`
  Find out whether include exclude patterns are matched in a case sensitive way.
  `boolean`
  `isEverythingIncluded()`
  Return whether or not the scanner has included all the files or directories it has come across so far.
  `protected boolean`
  `isExcluded(String name)`
  Test whether or not a name matches against at least one exclude pattern.
  `boolean`
  `isFollowSymlinks()`
  Get whether or not a DirectoryScanner follows symbolic links or Windows junctions.
  `protected boolean`
  `isIncluded(String name)`
  Test whether or not a name matches against at least one include pattern.
  `protected boolean`
  `isSelected(String name, File file)`
  Test whether a file should be selected.
  `static boolean`
  `match(String pattern, String str)`
  Test whether or not a string matches against a pattern.
  `protected static boolean`
  `match(String pattern, String str, boolean isCaseSensitive)`
  Test whether or not a string matches against a pattern.
  `protected static boolean`
  `matchPath(String pattern, String str)`
  Test whether or not a given path matches a given pattern.
  `protected static boolean`
  `matchPath(String pattern, String str, boolean isCaseSensitive)`
  Test whether or not a given path matches a given pattern.
  `protected static boolean`
  `matchPatternStart(String pattern, String str)`
  Test whether or not a given path matches the start of a given pattern up to the first "**".
  `protected static boolean`
  `matchPatternStart(String pattern, String str, boolean isCaseSensitive)`
  Test whether or not a given path matches the start of a given pattern up to the first "**".
  `static boolean`
  `removeDefaultExclude(String s)`
  Remove a string if it is a default exclude.
  `static void`
  `resetDefaultExcludes()`
  Go back to the hardwired default exclude patterns.
  `protected void`
  `scandir(File dir, String vpath, boolean fast)`
  Scan the given directory for files and directories.
  `void`
  `setBasedir(File basedir)`
  Set the base directory to be scanned.
  `void`
  `setBasedir(String basedir)`
  Set the base directory to be scanned.
  `void`
  `setErrorOnMissingDir(boolean errorOnMissingDir)`
  Sets whether or not a missing base directory is an error
  `void`
  `setFollowSymlinks(boolean followSymlinks)`
  Set whether or not symbolic links or Windows junctions should be followed.
  `void`
  `setMaxLevelsOfSymlinks(int max)`
  The maximum number of times a symbolic link or Windows junctions may be followed during a scan.
  `void`
  `setSelectors(FileSelector[] selectors)`
  Set the selectors that will select the filelist.
  `protected void`
  `slowScan()`
  Top level invocation for a slow scan.

  ### Methods inherited from class Object

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

- ## Field Details

  - ### DEFAULT_ANALYZER_CLASS

    public static final String DEFAULT_ANALYZER_CLASS
    The name of the analyzer to use by default.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### 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 Details

  - ### setRootClasses

    public void setRootClasses(Vector<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 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 IllegalStateException
    Scans the base directory for files on which baseClass depends.
    Specified by:
      `scan` in interface `FileScanner`
    Overrides:
      `scan` in class `DirectoryScanner`
    Throws:
      `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 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:
      - .

  - ### getExcludedFiles

    public 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:
      - .

  - ### getIncludedDirectories

    public 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:
      - .

  - ### getIncludedDirsCount

    public int getIncludedDirsCount()
    Description copied from class: `DirectoryScanner`
    Return the count of included directories.
    Overrides:
      `getIncludedDirsCount` in class `DirectoryScanner`
    Returns:
      `int`.
    See Also:
      - .

  - ### getNotIncludedDirectories

    public 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:
      - .

  - ### getNotIncludedFiles

    public String[] getNotIncludedFiles()
    Description copied from class: `DirectoryScanner`
    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:
      - .

  - ### setExcludes

    public void setExcludes(String[] excludes)
    Description copied from class: `DirectoryScanner`
    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`.
    See Also:
      - .

  - ### setIncludes

    public void setIncludes(String[] includes)
    Description copied from class: `DirectoryScanner`
    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`.
    See Also:
      - .

  - ### setCaseSensitive

    public void setCaseSensitive(boolean isCaseSensitive)
    Description copied from class: `DirectoryScanner`
    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.
    See Also:
      - .

  - ### addBasedir

    public void addBasedir(File baseDir)