Class IncludeExcludeFileSelector
- java.lang.Object
-
- org.codehaus.plexus.components.io.fileselectors.IncludeExcludeFileSelector
-
- All Implemented Interfaces:
FileSelector
public class IncludeExcludeFileSelector extends java.lang.Object implements FileSelector
This file selector uses a set of patterns for including/excluding files.
-
-
Field Summary
Fields Modifier and Type Field Description private static org.codehaus.plexus.util.MatchPatterns
ALL_INCLUDES
private org.codehaus.plexus.util.MatchPatterns
computedExcludes
private org.codehaus.plexus.util.MatchPatterns
computedIncludes
private java.lang.String[]
excludes
private java.lang.String[]
includes
private boolean
isCaseSensitive
static java.lang.String
ROLE_HINT
The include/exclude file selectors role-hint: "standard".private boolean
useDefaultExcludes
private static org.codehaus.plexus.util.MatchPatterns
ZERO_EXCLUDES
-
Fields inherited from interface org.codehaus.plexus.components.io.fileselectors.FileSelector
DEFAULT_ROLE_HINT, ROLE
-
-
Constructor Summary
Constructors Constructor Description IncludeExcludeFileSelector()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.String
asPattern(java.lang.String pPattern)
private static java.lang.String
getCanonicalName(java.lang.String pName)
java.lang.String[]
getExcludes()
Returns the list of exclude patterns to use.java.lang.String[]
getIncludes()
Returns the list of include patterns to use.boolean
isCaseSensitive()
Returns, whether the include/exclude patterns are case sensitive.protected boolean
isExcluded(java.lang.String name)
Tests whether or not a name matches against at least one exclude pattern.protected boolean
isIncluded(java.lang.String name)
Tests whether or not a name matches against at least one include pattern.boolean
isSelected(FileInfo fileInfo)
Returns, whether the given file is selected.boolean
isUseDefaultExcludes()
Returns, whether to use the default excludes, as specified byFileUtils.getDefaultExcludes()
.protected boolean
matchPath(java.lang.String pattern, java.lang.String name, boolean isCaseSensitive)
Tests, whether the given pattern is matching the given name.void
setCaseSensitive(boolean caseSensitive)
Sets, whether the include/exclude patterns are case sensitive.void
setExcludes(java.lang.String[] excludes)
Sets the list of exclude patterns to use.void
setIncludes(java.lang.String[] includes)
Sets the list of include patterns to use.void
setUseDefaultExcludes(boolean pUseDefaultExcludes)
Sets, whether to use the default excludes, as specified byFileUtils.getDefaultExcludes()
.
-
-
-
Field Detail
-
ROLE_HINT
public static final java.lang.String ROLE_HINT
The include/exclude file selectors role-hint: "standard".- See Also:
- Constant Field Values
-
ALL_INCLUDES
private static final org.codehaus.plexus.util.MatchPatterns ALL_INCLUDES
-
ZERO_EXCLUDES
private static final org.codehaus.plexus.util.MatchPatterns ZERO_EXCLUDES
-
isCaseSensitive
private boolean isCaseSensitive
-
useDefaultExcludes
private boolean useDefaultExcludes
-
includes
private java.lang.String[] includes
-
excludes
private java.lang.String[] excludes
-
computedIncludes
private org.codehaus.plexus.util.MatchPatterns computedIncludes
-
computedExcludes
private org.codehaus.plexus.util.MatchPatterns computedExcludes
-
-
Method Detail
-
isExcluded
protected boolean isExcluded(@Nonnull java.lang.String name)
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.
-
setIncludes
public void setIncludes(@Nullable java.lang.String[] includes)
Sets the list of include patterns to use. All '/' and '\' characters are replaced byFile.separatorChar
, so the separator used need not matchFile.separatorChar
.When a pattern ends with a '/' or '\', "**" is appended.
- 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
.
-
getCanonicalName
@Nonnull private static java.lang.String getCanonicalName(@Nonnull java.lang.String pName)
-
asPattern
private java.lang.String asPattern(@Nonnull java.lang.String pPattern)
-
getIncludes
@Nullable public java.lang.String[] getIncludes()
Returns the list of include patterns to use.- Returns:
- 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
public void setExcludes(@Nullable java.lang.String[] excludes)
Sets the list of exclude patterns to use. All '/' and '\' characters are replaced byFile.separatorChar
, so the separator used need not matchFile.separatorChar
.When a pattern ends with a '/' or '\', "**" is appended.
- 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
.
-
getExcludes
@Nullable public java.lang.String[] getExcludes()
Returns the list of exclude patterns to use.- Returns:
- 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
.
-
matchPath
protected boolean matchPath(@Nonnull java.lang.String pattern, @Nonnull java.lang.String name, boolean isCaseSensitive)
Tests, whether the given pattern is matching the given name.- Parameters:
pattern
- The pattern to matchname
- The name to testisCaseSensitive
- Whether the pattern is case sensitive.- Returns:
- True, if the pattern matches, otherwise false
-
isIncluded
protected boolean isIncluded(@Nonnull java.lang.String name)
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.
-
isSelected
public boolean isSelected(@Nonnull FileInfo fileInfo)
Description copied from interface:FileSelector
Returns, whether the given file is selected.- Specified by:
isSelected
in interfaceFileSelector
- Parameters:
fileInfo
- An instance of FileInfo with the files meta data. It is recommended, that the caller creates an instance ofPlexusIoResource
.
-
isCaseSensitive
public boolean isCaseSensitive()
Returns, whether the include/exclude patterns are case sensitive.- Returns:
- True, if the patterns are case sensitive (default), or false.
-
setCaseSensitive
public void setCaseSensitive(boolean caseSensitive)
Sets, whether the include/exclude patterns are case sensitive.- Parameters:
caseSensitive
- True, if the patterns are case sensitive (default), or false.
-
isUseDefaultExcludes
public boolean isUseDefaultExcludes()
Returns, whether to use the default excludes, as specified byFileUtils.getDefaultExcludes()
.
-
setUseDefaultExcludes
public void setUseDefaultExcludes(boolean pUseDefaultExcludes)
Sets, whether to use the default excludes, as specified byFileUtils.getDefaultExcludes()
.
-
-