Package org.jboss.vfs.util
Class ExtensibleFilter
- java.lang.Object
-
- org.jboss.vfs.util.ExtensibleFilter
-
- All Implemented Interfaces:
VirtualFileFilter
public class ExtensibleFilter extends java.lang.Object implements VirtualFileFilter
An extensible filter for VFS files. Three arrays are maintained for checking: a prefix, suffix, and match array. If the filename starts with any of the prefixes, ends with any of the suffixes, or exactly matches any of the matches, then the accepts method will return false. NOTE: the arrays *must* be sorted for the string matching to work, and suffixes use the 'reverseComparator'- Version:
- $Revision: 57108 $
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String[]
DEFAULT_MATCHES
the default matches listprivate static java.lang.String[]
DEFAULT_PREFIXES
the default prefix listprivate static java.lang.String[]
DEFAULT_SUFFIXES
the default suffix listprivate java.util.List<java.lang.String>
matches
The sorted list of disallowed valuesprivate java.util.List<java.lang.String>
prefixes
The sorted list of disallowed prefixesprivate static java.util.Comparator<java.lang.String>
reverseComparator
Compare the strings backwards.private java.util.List<java.lang.String>
suffixes
The list of disallowed suffixes, sorted using reverse values
-
Constructor Summary
Constructors Constructor Description ExtensibleFilter()
Use the default values for suffixes, prefixes, and matchesExtensibleFilter(java.lang.String[] matches, java.lang.String[] prefixes, java.lang.String[] suffixes)
Create using a custom set of matches, prefixes, and suffixes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
accepts(VirtualFile file)
If the filename matches any string in the prefix, suffix, or matches array, return false.void
addPrefix(java.lang.String prefix)
void
addPrefixes(java.lang.String[] prefixes)
void
addSuffix(java.lang.String suffix)
void
addSuffixes(java.lang.String[] suffixes)
void
delPrefix(java.lang.String prefix)
void
delPrefixes(java.lang.String[] prefixes)
void
delSuffix(java.lang.String suffix)
void
delSuffixes(java.lang.String[] suffixes)
java.lang.String[]
getMatches()
java.lang.String[]
getPrefixes()
java.lang.String[]
getSuffixes()
void
setMatches(java.lang.String[] matches)
void
setPrefixes(java.lang.String[] prefixes)
void
setSuffixes(java.lang.String[] suffixes)
-
-
-
Field Detail
-
reverseComparator
private static final java.util.Comparator<java.lang.String> reverseComparator
Compare the strings backwards. This assists in suffix comparisons.
-
DEFAULT_PREFIXES
private static final java.lang.String[] DEFAULT_PREFIXES
the default prefix list
-
DEFAULT_SUFFIXES
private static final java.lang.String[] DEFAULT_SUFFIXES
the default suffix list
-
DEFAULT_MATCHES
private static final java.lang.String[] DEFAULT_MATCHES
the default matches list
-
suffixes
private java.util.List<java.lang.String> suffixes
The list of disallowed suffixes, sorted using reverse values
-
prefixes
private java.util.List<java.lang.String> prefixes
The sorted list of disallowed prefixes
-
matches
private java.util.List<java.lang.String> matches
The sorted list of disallowed values
-
-
Constructor Detail
-
ExtensibleFilter
public ExtensibleFilter()
Use the default values for suffixes, prefixes, and matches
-
ExtensibleFilter
public ExtensibleFilter(java.lang.String[] matches, java.lang.String[] prefixes, java.lang.String[] suffixes)
Create using a custom set of matches, prefixes, and suffixes. If any of these arrays are null, then the corresponding default will be substituted.- Parameters:
matches
- the matchesprefixes
- the prefixessuffixes
- the suffixes
-
-
Method Detail
-
addPrefix
public void addPrefix(java.lang.String prefix)
-
addPrefixes
public void addPrefixes(java.lang.String[] prefixes)
-
delPrefix
public void delPrefix(java.lang.String prefix)
-
delPrefixes
public void delPrefixes(java.lang.String[] prefixes)
-
addSuffix
public void addSuffix(java.lang.String suffix)
-
addSuffixes
public void addSuffixes(java.lang.String[] suffixes)
-
delSuffix
public void delSuffix(java.lang.String suffix)
-
delSuffixes
public void delSuffixes(java.lang.String[] suffixes)
-
getSuffixes
public java.lang.String[] getSuffixes()
-
setSuffixes
public void setSuffixes(java.lang.String[] suffixes)
-
getPrefixes
public java.lang.String[] getPrefixes()
-
setPrefixes
public void setPrefixes(java.lang.String[] prefixes)
-
getMatches
public java.lang.String[] getMatches()
-
setMatches
public void setMatches(java.lang.String[] matches)
-
accepts
public boolean accepts(VirtualFile file)
If the filename matches any string in the prefix, suffix, or matches array, return false. Perhaps a bit of overkill, but this method operates in log(n) time, where n is the size of the arrays.- Specified by:
accepts
in interfaceVirtualFileFilter
- Parameters:
file
- The file to be tested- Returns:
false
if the filename matches any of the prefixes, suffixes, or matches.
-
-