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_MATCHESthe default matches listprivate static java.lang.String[]DEFAULT_PREFIXESthe default prefix listprivate static java.lang.String[]DEFAULT_SUFFIXESthe default suffix listprivate java.util.List<java.lang.String>matchesThe sorted list of disallowed valuesprivate java.util.List<java.lang.String>prefixesThe sorted list of disallowed prefixesprivate static java.util.Comparator<java.lang.String>reverseComparatorCompare the strings backwards.private java.util.List<java.lang.String>suffixesThe 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 booleanaccepts(VirtualFile file)If the filename matches any string in the prefix, suffix, or matches array, return false.voidaddPrefix(java.lang.String prefix)voidaddPrefixes(java.lang.String[] prefixes)voidaddSuffix(java.lang.String suffix)voidaddSuffixes(java.lang.String[] suffixes)voiddelPrefix(java.lang.String prefix)voiddelPrefixes(java.lang.String[] prefixes)voiddelSuffix(java.lang.String suffix)voiddelSuffixes(java.lang.String[] suffixes)java.lang.String[]getMatches()java.lang.String[]getPrefixes()java.lang.String[]getSuffixes()voidsetMatches(java.lang.String[] matches)voidsetPrefixes(java.lang.String[] prefixes)voidsetSuffixes(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:
acceptsin interfaceVirtualFileFilter- Parameters:
file- The file to be tested- Returns:
falseif the filename matches any of the prefixes, suffixes, or matches.
-
-