public class Blacklist
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Blacklist.BlacklistError |
static class |
Blacklist.BlacklistType |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
BLACKLIST_FILENAME_FILTER |
private java.util.Map<Blacklist.BlacklistType,java.lang.String> |
blacklistFiles |
private java.io.File |
blacklistRootPath |
private java.util.concurrent.ConcurrentMap<Blacklist.BlacklistType,HandleSet> |
cachedUrlHashs |
private java.util.concurrent.ConcurrentMap<Blacklist.BlacklistType,java.util.Map<java.lang.String,java.util.Set<java.util.regex.Pattern>>> |
hostpaths_matchable |
private java.util.concurrent.ConcurrentMap<Blacklist.BlacklistType,java.util.Map<java.lang.String,java.util.Set<java.util.regex.Pattern>>> |
hostpaths_notmatchable |
private static java.util.regex.Pattern |
m1 |
private static java.util.regex.Pattern |
m2 |
private static java.util.regex.Pattern |
m3 |
Constructor and Description |
---|
Blacklist(java.io.File rootPath) |
Modifier and Type | Method and Description |
---|---|
void |
add(Blacklist.BlacklistType blacklistType,
java.lang.String blacklistToUse,
java.lang.String host,
java.lang.String path) |
void |
add(java.lang.String blacklistSourcefile,
java.lang.String host,
java.lang.String path)
appends aN entry to the backlist source file.
|
int |
blacklistCacheSize() |
static boolean |
blacklistFileContains(java.io.File listsPath,
java.lang.String blacklistToUse,
java.lang.String newEntry)
Checks if a blacklist file contains a certain entry.
|
static Blacklist.BlacklistError |
checkError(java.lang.String element,
java.util.Map<java.lang.String,java.lang.String> properties) |
void |
clear() |
void |
clearblacklistCache() |
void |
close()
Close (shutdown) this "sub-system", add more here for shutdown.
|
boolean |
contains(Blacklist.BlacklistType blacklistType,
java.lang.String host,
java.lang.String path) |
static java.lang.String |
defaultBlacklist(java.io.File listsPath) |
private static java.io.File |
DHTCacheFile(Blacklist.BlacklistType type) |
protected java.util.Map<java.lang.String,java.util.Set<java.util.regex.Pattern>> |
getBlacklistMap(Blacklist.BlacklistType blacklistType,
boolean matchable) |
protected HandleSet |
getCacheUrlHashsSet(Blacklist.BlacklistType blacklistType) |
static java.lang.String |
getEngineInfo() |
java.io.File |
getRootPath() |
boolean |
hashInBlacklistedCache(Blacklist.BlacklistType blacklistType,
byte[] urlHash) |
boolean |
isListed(Blacklist.BlacklistType blacklistType,
DigestURL url)
Checks whether the given entry is listed in given blacklist type.
|
boolean |
isListed(Blacklist.BlacklistType blacklistType,
java.lang.String hostlow,
java.lang.String path) |
static boolean |
isMatchable(java.lang.String host) |
private void |
loadDHTCache(Blacklist.BlacklistType type) |
void |
loadList(Blacklist.BlacklistType blacklistType,
java.lang.String fileNames,
java.lang.String sep) |
void |
loadList(BlacklistFile[] blFiles,
java.lang.String sep) |
private void |
loadList(BlacklistFile blFile,
java.lang.String sep)
create a blacklist from file, entries separated by 'sep'
duplicate entries are removed
|
void |
remove(Blacklist.BlacklistType blacklistType,
java.lang.String blacklistToUse,
java.lang.String host,
java.lang.String path) |
void |
removeAll(Blacklist.BlacklistType blacklistType,
java.lang.String host) |
private void |
saveDHTCache(Blacklist.BlacklistType type) |
private void |
setRootPath(java.io.File rootPath) |
int |
size() |
public static final java.lang.String BLACKLIST_FILENAME_FILTER
private java.io.File blacklistRootPath
private java.util.Map<Blacklist.BlacklistType,java.lang.String> blacklistFiles
private final java.util.concurrent.ConcurrentMap<Blacklist.BlacklistType,HandleSet> cachedUrlHashs
private final java.util.concurrent.ConcurrentMap<Blacklist.BlacklistType,java.util.Map<java.lang.String,java.util.Set<java.util.regex.Pattern>>> hostpaths_matchable
private final java.util.concurrent.ConcurrentMap<Blacklist.BlacklistType,java.util.Map<java.lang.String,java.util.Set<java.util.regex.Pattern>>> hostpaths_notmatchable
private static final java.util.regex.Pattern m1
private static final java.util.regex.Pattern m2
private static final java.util.regex.Pattern m3
public final void close()
private final void setRootPath(java.io.File rootPath)
protected final java.util.Map<java.lang.String,java.util.Set<java.util.regex.Pattern>> getBlacklistMap(Blacklist.BlacklistType blacklistType, boolean matchable)
protected final HandleSet getCacheUrlHashsSet(Blacklist.BlacklistType blacklistType)
public final java.io.File getRootPath()
public final void clear()
public final int size()
public final void loadList(BlacklistFile[] blFiles, java.lang.String sep)
private void loadList(BlacklistFile blFile, java.lang.String sep)
blFile
- sep
- public final void loadList(Blacklist.BlacklistType blacklistType, java.lang.String fileNames, java.lang.String sep)
public final void removeAll(Blacklist.BlacklistType blacklistType, java.lang.String host)
public final void remove(Blacklist.BlacklistType blacklistType, java.lang.String blacklistToUse, java.lang.String host, java.lang.String path)
public final void add(Blacklist.BlacklistType blacklistType, java.lang.String blacklistToUse, java.lang.String host, java.lang.String path) throws Punycode.PunycodeException
blacklistType
- blacklistToUse
- host
- path
- Punycode.PunycodeException
public final void add(java.lang.String blacklistSourcefile, java.lang.String host, java.lang.String path) throws Punycode.PunycodeException
blacklistSourcefile
- name of the blacklist file (LISTS/*.black)host
- host or host patternpath
- path or path patternPunycode.PunycodeException
public final int blacklistCacheSize()
public final void clearblacklistCache()
public final boolean hashInBlacklistedCache(Blacklist.BlacklistType blacklistType, byte[] urlHash)
public final boolean contains(Blacklist.BlacklistType blacklistType, java.lang.String host, java.lang.String path)
public final boolean isListed(Blacklist.BlacklistType blacklistType, DigestURL url)
blacklistType
- The used blacklisturl
- Entry to be checkedpublic static boolean isMatchable(java.lang.String host)
public static java.lang.String getEngineInfo()
public final boolean isListed(Blacklist.BlacklistType blacklistType, java.lang.String hostlow, java.lang.String path)
public static Blacklist.BlacklistError checkError(java.lang.String element, java.util.Map<java.lang.String,java.lang.String> properties)
public static java.lang.String defaultBlacklist(java.io.File listsPath)
public static boolean blacklistFileContains(java.io.File listsPath, java.lang.String blacklistToUse, java.lang.String newEntry)
blacklistToUse
- The blacklist.newEntry
- The Entry.private static java.io.File DHTCacheFile(Blacklist.BlacklistType type)
private final void saveDHTCache(Blacklist.BlacklistType type)
private final void loadDHTCache(Blacklist.BlacklistType type)