Class AbstractScanner
- All Implemented Interfaces:
Scanner
- Direct Known Subclasses:
DirectoryScanner
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String[]
Patterns which should be excluded by default, like SCM files Misc: **/*~, **/#*#, **/.#*, **/%*%, **/._* CVS: **/CVS, **/CVS/**, **/.cvsignore RCS: **/RCS, **/RCS/** SCCS: **/SCCS, **/SCCS/** VSSercer: **/vssver.scc MKS: **/project.pj SVN: **/.svn, **/.svn/** GNU: **/.arch-ids, **/.arch-ids/** Bazaar: **/.bzr, **/.bzr/** SurroundSCM: **/.MySCMServerInfo Mac: **/.DS_Store Serena Dimension: **/.metadata, **/.metadata/** Mercurial: **/.hg, **/.hg/** Git: **/.git, **/.git/**, **/.gitignore Bitkeeper: **/BitKeeper, **/BitKeeper/**, **/ChangeSet, **/ChangeSet/** Darcs: **/_darcs, **/_darcs/**, **/.darcsrepo, **/.darcsrepo/****/-darcs-backup*, **/.darcs-temp-mailprotected String[]
The patterns for the files to be excluded.protected Comparator
<String> protected String[]
The patterns for the files to be included.protected boolean
Whether or not the file system should be treated as a case sensitive one. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds default exclusions to the current exclusions set.protected boolean
couldHoldIncluded
(String name) Tests whether or not a name matches the start of at least one include pattern.protected boolean
isExcluded
(String name) Tests whether or not a name matches against at least one exclude pattern.protected boolean
isExcluded
(String name, char[][] tokenizedName) protected boolean
isExcluded
(String name, String[] tokenizedName) protected boolean
isIncluded
(String name) Tests whether or not a name matches against at least one include pattern.protected boolean
isIncluded
(String name, char[][] tokenizedName) protected boolean
isIncluded
(String name, String[] tokenizedName) static boolean
Tests whether or not a string matches against a pattern.protected static boolean
Tests whether or not a string matches against a pattern.protected static boolean
Tests whether or not a given path matches a given pattern.protected static boolean
Tests whether or not a given path matches a given pattern.protected static boolean
matchPatternStart
(String pattern, String str) Tests 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) Tests whether or not a given path matches the start of a given pattern up to the first "**".void
setCaseSensitive
(boolean isCaseSensitive) Sets whether or not the file system should be regarded as case sensitive.void
setExcludes
(String[] excludes) Sets the list of exclude patterns to use.void
setFilenameComparator
(Comparator<String> filenameComparator) Use a filename comparator in each directory when scanning.void
setIncludes
(String[] includes) Sets the list of include patterns to use.protected void
protected void
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.codehaus.plexus.util.Scanner
getBasedir, getIncludedDirectories, getIncludedFiles, scan
-
Field Details
-
DEFAULTEXCLUDES
Patterns which should be excluded by default, like SCM files- Misc: **/*~, **/#*#, **/.#*, **/%*%, **/._*
- CVS: **/CVS, **/CVS/**, **/.cvsignore
- RCS: **/RCS, **/RCS/**
- SCCS: **/SCCS, **/SCCS/**
- VSSercer: **/vssver.scc
- MKS: **/project.pj
- SVN: **/.svn, **/.svn/**
- GNU: **/.arch-ids, **/.arch-ids/**
- Bazaar: **/.bzr, **/.bzr/**
- SurroundSCM: **/.MySCMServerInfo
- Mac: **/.DS_Store
- Serena Dimension: **/.metadata, **/.metadata/**
- Mercurial: **/.hg, **/.hg/**
- Git: **/.git, **/.git/**, **/.gitignore
- Bitkeeper: **/BitKeeper, **/BitKeeper/**, **/ChangeSet, **/ChangeSet/**
- Darcs: **/_darcs, **/_darcs/**, **/.darcsrepo, **/.darcsrepo/****/-darcs-backup*, **/.darcs-temp-mail
- See Also:
-
includes
The patterns for the files to be included. -
excludes
The patterns for the files to be excluded. -
isCaseSensitive
protected boolean isCaseSensitiveWhether or not the file system should be treated as a case sensitive one. -
filenameComparator
- Since:
- 3.3.0
-
-
Constructor Details
-
AbstractScanner
public AbstractScanner()
-
-
Method Details
-
setCaseSensitive
public void setCaseSensitive(boolean isCaseSensitive) Sets whether or not the file system should be regarded as case sensitive.- Parameters:
isCaseSensitive
- whether or not the file system should be regarded as a case sensitive one
-
matchPatternStart
Tests whether or not a given path matches the start of a given pattern up to the first "**".
This is not a general purpose test and should only be used if you can live with false positives. For example,
pattern=**\a
andstr=b
will yieldtrue
.- Parameters:
pattern
- The pattern to match against. Must not benull
.str
- The path to match, as a String. Must not benull
.- Returns:
- whether or not a given path matches the start of a given pattern up to the first "**".
-
matchPatternStart
Tests whether or not a given path matches the start of a given pattern up to the first "**".
This is not a general purpose test and should only be used if you can live with false positives. For example,
pattern=**\a
andstr=b
will yieldtrue
.- Parameters:
pattern
- The pattern to match against. Must not benull
.str
- The path to match, as a String. Must not benull
.isCaseSensitive
- Whether or not matching should be performed case sensitively.- Returns:
- whether or not a given path matches the start of a given pattern up to the first "**".
-
matchPath
Tests whether or not a given path matches a given pattern.- Parameters:
pattern
- The pattern to match against. Must not benull
.str
- The path to match, as a String. Must not benull
.- Returns:
true
if the pattern matches against the string, orfalse
otherwise.
-
matchPath
Tests whether or not a given path matches a given pattern.- Parameters:
pattern
- The pattern to match against. Must not benull
.str
- The path to match, as a String. Must not benull
.isCaseSensitive
- Whether or not matching should be performed case sensitively.- Returns:
true
if the pattern matches against the string, orfalse
otherwise.
-
match
Tests whether or not a string matches against a pattern. The pattern may contain two special characters:
'*' means zero or more characters
'?' means one and only one character- Parameters:
pattern
- The pattern to match against. Must not benull
.str
- The string which must be matched against the pattern. Must not benull
.- Returns:
true
if the string matches against the pattern, orfalse
otherwise.
-
match
Tests whether or not a string matches against a pattern. The pattern may contain two special characters:
'*' means zero or more characters
'?' means one and only one character- Parameters:
pattern
- The pattern to match against. Must not benull
.str
- The string which must be matched against the pattern. Must not benull
.isCaseSensitive
- Whether or not matching should be performed case sensitively.- Returns:
true
if the string matches against the pattern, orfalse
otherwise.
-
setIncludes
Sets the list of include patterns to use. All '/' and '\' characters are replaced by
File.separatorChar
, so the separator used need not matchFile.separatorChar
.When a pattern ends with a '/' or '\', "**" is appended.
- Specified by:
setIncludes
in interfaceScanner
- Parameters:
includes
- A list of include patterns. May benull
, indicating that all files should be included. If a non-null
list is given, all elements must be non-null
.
-
setExcludes
Sets the list of exclude patterns to use. All '/' and '\' characters are replaced by
File.separatorChar
, so the separator used need not matchFile.separatorChar
.When a pattern ends with a '/' or '\', "**" is appended.
- Specified by:
setExcludes
in interfaceScanner
- Parameters:
excludes
- A list of exclude patterns. May benull
, indicating that no files should be excluded. If a non-null
list is given, all elements must be non-null
.
-
isIncluded
Tests whether or not a name matches against at least one include pattern.- Parameters:
name
- The name to match. Must not benull
.- Returns:
true
when the name matches against at least one include pattern, orfalse
otherwise.
-
isIncluded
-
isIncluded
-
couldHoldIncluded
Tests whether or not a name matches the start of at least one include pattern.- Parameters:
name
- The name to match. Must not benull
.- Returns:
true
when the name matches against the start of at least one include pattern, orfalse
otherwise.
-
isExcluded
Tests whether or not a name matches against at least one exclude pattern.- Parameters:
name
- The name to match. Must not benull
.- Returns:
true
when the name matches against at least one exclude pattern, orfalse
otherwise.
-
isExcluded
-
isExcluded
-
addDefaultExcludes
public void addDefaultExcludes()Adds default exclusions to the current exclusions set.- Specified by:
addDefaultExcludes
in interfaceScanner
-
setupDefaultFilters
protected void setupDefaultFilters() -
setupMatchPatterns
protected void setupMatchPatterns() -
setFilenameComparator
Description copied from interface:Scanner
Use a filename comparator in each directory when scanning.- Specified by:
setFilenameComparator
in interfaceScanner
- Parameters:
filenameComparator
- the Comparator instance to use
-