Package org.jboss.modules.filter
Class GlobPathFilter
- java.lang.Object
-
- org.jboss.modules.filter.GlobPathFilter
-
- All Implemented Interfaces:
PathFilter
final class GlobPathFilter extends java.lang.Object implements PathFilter
Default implementation of PathFilter. Uses glob based includes and excludes to determine whether to export.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
glob
private static java.util.regex.Pattern
GLOB_PATTERN
private java.util.regex.Pattern
pattern
-
Constructor Summary
Constructors Constructor Description GlobPathFilter(java.lang.String glob)
Construct a new instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
accept(java.lang.String path)
Determine whether a path should be accepted.boolean
equals(java.lang.Object obj)
Determine whether this filter is equal to another.boolean
equals(GlobPathFilter obj)
private static java.util.regex.Pattern
getGlobPattern(java.lang.String glob)
Get a regular expression pattern which accept any path names which match the given glob.int
hashCode()
Calculate a unique hash code for this path filter.java.lang.String
toString()
-
-
-
Method Detail
-
accept
public boolean accept(java.lang.String path)
Determine whether a path should be accepted.- Specified by:
accept
in interfacePathFilter
- Parameters:
path
- the path to check- Returns:
- true if the path should be accepted, false if not
-
getGlobPattern
private static java.util.regex.Pattern getGlobPattern(java.lang.String glob)
Get a regular expression pattern which accept any path names which match the given glob. The glob patterns function similarly toant
file patterns. Valid metacharacters in the glob pattern include:"\"
- escape the next character (treat it literally, even if it is itself a recognized metacharacter)"?"
- match any non-slash character"*"
- match zero or more non-slash characters"**"
- match zero or more characters, including slashes"/"
- match one or more slash characters. Consecutive/
characters are collapsed down into one.
/
is equivalent to a glob pattern ending in/**
in that the named directory is not itself included in the glob. See also: "Patterns" in the Ant Manual- Parameters:
glob
- the glob to match- Returns:
- the pattern
-
hashCode
public int hashCode()
Description copied from interface:PathFilter
Calculate a unique hash code for this path filter. Equal path filters must yield identical hash codes.- Specified by:
hashCode
in interfacePathFilter
- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- the hash code
-
equals
public boolean equals(java.lang.Object obj)
Description copied from interface:PathFilter
Determine whether this filter is equal to another. Filters must implement meaningful (non-identity) equality semantics.- Specified by:
equals
in interfacePathFilter
- Overrides:
equals
in classjava.lang.Object
- Parameters:
obj
- the other object- Returns:
true
if this filter is the same
-
equals
public boolean equals(GlobPathFilter obj)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-