SYMBOL INDEX (366 symbols across 41 files) FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/SensitiveWordsFilterUtils.java class SensitiveWordsFilterUtils (line 25) | public final class SensitiveWordsFilterUtils extends ApplicationLogging { class SingleFactory (line 27) | private static class SingleFactory { method getInstance (line 31) | public static final SensitiveWordsFilterUtils getInstance() { method SensitiveWordsFilterUtils (line 35) | private SensitiveWordsFilterUtils() { method contains (line 46) | public boolean contains(FilterType type, boolean partMatch, String con... method getWords (line 69) | public Set getWords(FilterType type, boolean partMatch, String... method highlight (line 95) | public String highlight(FilterType type, boolean partMatch, String con... method filter (line 122) | public String filter(FilterType type, boolean partMatch, String target... method refresh (line 141) | public void refresh(FilterType type) throws Exception { method refreshAll (line 152) | public void refreshAll(FilterType type) throws Exception { method contains (line 163) | public boolean contains(boolean firstPart, String content) throws Exce... method getWords (line 168) | public Set getWords(boolean firstPart, String content) throws ... method highlight (line 173) | public String highlight(boolean firstPart, String content) throws Exce... method filter (line 178) | public String filter(boolean firstPart, String target, Character repla... method refresh (line 183) | public void refresh() throws Exception { method refreshAll (line 188) | public void refreshAll() throws Exception { method checkFilterType (line 193) | private FilterType checkFilterType(FilterType type) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/SensitiveWordsService.java class SensitiveWordsService (line 39) | @Service method SensitiveWordsService (line 45) | public SensitiveWordsService() { method add (line 50) | public boolean add(T entity) throws Exception { method checkUnique (line 74) | private void checkUnique(T entity) throws Exception { method validate (line 81) | public void validate(T entity) throws Exception { method bind (line 90) | public void bind(T entity) throws Exception { method batch (line 101) | public boolean batch(List entities, SensitiveWordsType type) throws... method edit (line 140) | public boolean edit(T entity) throws Exception { method remove (line 163) | public boolean remove(T entity) throws Exception { method list (line 182) | public List list(T entity) throws Exception { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/business/dao/SensitiveWordsDao.java type SensitiveWordsDao (line 18) | @Repository method add (line 21) | public int add(T entity) throws Exception; method batch (line 23) | public int batch(List entity) throws Exception; method edit (line 25) | public int edit(T entity) throws Exception; method remove (line 27) | public int remove(T entity) throws Exception; method count (line 29) | public Long count(T entity) throws Exception; method query (line 31) | public List query(T entity) throws Exception; method get (line 33) | public T get(T entity) throws Exception; FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/business/enums/SensitiveWordsType.java type SensitiveWordsType (line 14) | public enum SensitiveWordsType { method SensitiveWordsType (line 33) | SensitiveWordsType(int code, String name) { method getCode (line 38) | public Integer getCode() { method getName (line 42) | public String getName() { method getEnumName (line 46) | public String getEnumName() { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/business/model/SensitiveWords.java class SensitiveWords (line 21) | public class SensitiveWords implements Serializable{ method SensitiveWords (line 40) | public SensitiveWords() { method SensitiveWords (line 43) | public SensitiveWords(String word, String creator, String updater) { method SensitiveWords (line 50) | public SensitiveWords(String word) { method setSensitiveWordsId (line 56) | public void setSensitiveWordsId(Long sensitiveWordsId) { method getSensitiveWordsId (line 61) | public Long getSensitiveWordsId() { method setWord (line 65) | public void setWord(String word) { method getWord (line 70) | public String getWord() { method setType (line 74) | public void setType(SensitiveWordsType type) { method getType (line 79) | public SensitiveWordsType getType() { method setCreator (line 83) | public void setCreator(String creator) { method getCreator (line 88) | public String getCreator() { method setCreateTime (line 92) | public void setCreateTime(Date createTime) { method getCreateTime (line 97) | public Date getCreateTime() { method setUpdater (line 101) | public void setUpdater(String updater) { method getUpdater (line 106) | public String getUpdater() { method setUpdateTime (line 110) | public void setUpdateTime(Date updateTime) { method getUpdateTime (line 115) | public Date getUpdateTime() { method toString (line 119) | @Override FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/cache/AbstractWordCache.java class AbstractWordCache (line 21) | public abstract class AbstractWordCache extends ApplicationLogging imple... method AbstractWordCache (line 25) | public AbstractWordCache(String listenerName) { method getListenerName (line 29) | public String getListenerName() { method setDataSource (line 33) | @Override method init (line 38) | @Override method put (line 45) | @Override method put (line 52) | @Override method get (line 59) | @Override method update (line 66) | @Override method remove (line 73) | @Override method refresh (line 80) | @Override method handleChangedEvent (line 87) | @SuppressWarnings("unchecked") FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/cache/JvmWordsCache.java class JvmWordsCache (line 23) | public final class JvmWordsCache extends AbstractWordCache { class SingleFactory (line 28) | private static class SingleFactory { method getInstance (line 33) | public static final JvmWordsCache getInstance() { method JvmWordsCache (line 38) | private JvmWordsCache() { method setDataSource (line 42) | @Override method init (line 53) | @Override method put (line 69) | public boolean put(SensitiveWords words) throws Exception { method put (line 76) | public boolean put(List words) throws Exception { method get (line 83) | public List get() throws Exception { method update (line 89) | public boolean update(SensitiveWords word) throws Exception { method remove (line 99) | public boolean remove(final SensitiveWords word) throws Exception { method refresh (line 120) | public boolean refresh() throws Exception { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/cache/RedisWordsCache.java class RedisWordsCache (line 21) | public final class RedisWordsCache extends AbstractWordCache { method RedisWordsCache (line 25) | private RedisWordsCache() { class SingleFactory (line 31) | private static class SingleFactory { method getInstance (line 36) | public static final RedisWordsCache getInstance() { method setDataSource (line 41) | @SuppressWarnings("unchecked") method init (line 53) | @Override method put (line 69) | public boolean put(SensitiveWords words) throws Exception { method put (line 76) | public boolean put(List words) throws Exception { method get (line 88) | public List get() throws Exception { method update (line 106) | public boolean update(SensitiveWords word) throws Exception { method remove (line 116) | public boolean remove(final SensitiveWords word) throws Exception { method refresh (line 150) | public boolean refresh() throws Exception { method toJSON (line 178) | private String toJSON(SensitiveWords word) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/cache/WordsCache.java type WordsCache (line 19) | public interface WordsCache { method setDataSource (line 21) | public void setDataSource(Object dataSource); method init (line 23) | public boolean init() throws Exception; method put (line 25) | public boolean put(SensitiveWords words) throws Exception; method put (line 27) | public boolean put(List words) throws Exception; method get (line 29) | public List get() throws Exception; method remove (line 31) | public boolean remove(SensitiveWords words) throws Exception; method refresh (line 33) | public boolean refresh() throws Exception; method update (line 35) | boolean update(SensitiveWords word) throws Exception; FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/event/CacheChangedEvent.java class CacheChangedEvent (line 17) | public class CacheChangedEvent extends EventObject { type Action (line 21) | public enum Action { method CacheChangedEvent (line 27) | public CacheChangedEvent(Object source, Action action) { method doEvent (line 33) | public void doEvent() { method getAction (line 37) | public Action getAction() { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/event/WordsCacheContext.java class WordsCacheContext (line 21) | public final class WordsCacheContext extends ApplicationLogging { class SingleFactory (line 25) | private static class SingleFactory { method getInstance (line 30) | public static final WordsCacheContext getInstance() { method WordsCacheContext (line 35) | private WordsCacheContext() { method register (line 46) | public void register(CacheChangedListener listener) { method dispatchChanged (line 53) | public void dispatchChanged(CacheChangedEvent event) throws Exception { type CacheChangedListener (line 70) | public interface CacheChangedListener extends java.util.EventListener { method handleChangedEvent (line 72) | public void handleChangedEvent(CacheChangedEvent event) throws Excep... method getListenerName (line 74) | public String getListenerName(); FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/factory/FilterType.java type FilterType (line 21) | public enum FilterType { method FilterType (line 33) | FilterType(String desc, Class ... method getDesc (line 38) | public String getDesc() { method getClazz (line 42) | public Class getClazz() { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/factory/SensitiveWordsFactory.java class SensitiveWordsFactory (line 16) | public abstract class SensitiveWordsFactory { method create (line 18) | public static final AbstractSensitiveWordsFilter create(FilterType fil... FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/AbstractFilter.java class AbstractFilter (line 19) | public abstract class AbstractFilter extends AbstractSensitiveWordsFilter { method AbstractFilter (line 23) | public AbstractFilter(AbstractFilterExecutor executor) { method contains (line 30) | @Override method getWords (line 36) | @Override method highlight (line 42) | @Override method filter (line 48) | @Override method init (line 54) | @Override method refresh (line 60) | @Override method destroy (line 66) | @Override FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/AbstractFilterExecutor.java class AbstractFilterExecutor (line 24) | public abstract class AbstractFilterExecutor extends AbstractSensitiv... method AbstractFilterExecutor (line 29) | public AbstractFilterExecutor(String listenerName) { method getListenerName (line 33) | @Override method getCacheNodes (line 44) | protected abstract T getCacheNodes(); method put (line 52) | protected abstract boolean put(String word) throws RuntimeException; method put (line 54) | public boolean put(SensitiveWords word) throws RuntimeException { method init (line 60) | public void init(String wordsFileName) throws RuntimeException { method init (line 85) | @Override method refresh (line 99) | @Override method destroy (line 116) | @Override method readDic (line 135) | protected BufferedReader readDic(String wordsFileName) throws Exception { method handleChangedEvent (line 148) | @Override FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/AbstractSensitiveWordsFilter.java class AbstractSensitiveWordsFilter (line 19) | public abstract class AbstractSensitiveWordsFilter extends ApplicationLo... method initAll (line 23) | public void initAll() throws Exception { method refreshAll (line 36) | public void refreshAll() throws Exception { method init (line 45) | public abstract void init() throws RuntimeException; method refresh (line 47) | public abstract void refresh() throws RuntimeException; method destroy (line 49) | public abstract void destroy() throws RuntimeException; FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/AbstractSensitiveWordsFilterSupport.java class AbstractSensitiveWordsFilterSupport (line 21) | public abstract class AbstractSensitiveWordsFilterSupport extends Abstra... type Callback (line 31) | protected interface Callback { method call (line 40) | boolean call(String word); method processor (line 52) | protected abstract boolean processor(boolean partMatch, String content... method contains (line 54) | @Override method getWords (line 65) | @Override method highlight (line 80) | @Override method filter (line 93) | @Override FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/SensitiveWordsFilter.java type SensitiveWordsFilter (line 17) | public interface SensitiveWordsFilter { method contains (line 27) | public boolean contains(boolean partMatch, String content) throws Runt... method getWords (line 37) | public Set getWords(boolean partMatch, String content) throws ... method highlight (line 48) | public String highlight(boolean partMatch, String content) throws Runt... method filter (line 60) | public String filter(boolean partMatch, String content, char replaceCh... FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/bucket/HashBucketFilter.java class HashBucketFilter (line 18) | public class HashBucketFilter extends AbstractFilter { method HashBucketFilter (line 20) | public HashBucketFilter() { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/bucket/executor/HashBucketFilterExecutor.java class HashBucketFilterExecutor (line 25) | public final class HashBucketFilterExecutor extends AbstractFilterExecut... method HashBucketFilterExecutor (line 27) | private HashBucketFilterExecutor() { class SingleFactory (line 31) | private static class SingleFactory { method getInstance (line 35) | public static final HashBucketFilterExecutor getInstance() { method getCacheNodes (line 39) | @Override method put (line 44) | @Override method processor (line 75) | @Override method main (line 121) | public static void main(String[] args) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/dat/DatFilter.java class DatFilter (line 18) | public class DatFilter extends AbstractFilter { method DatFilter (line 20) | public DatFilter() { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/dat/exectuor/DatCacheNode.java class DatCacheNode (line 19) | public class DatCacheNode { method getChars (line 27) | public Set getChars() { method setChars (line 31) | public void setChars(Set chars) { method getWords (line 35) | public Set getWords() { method setWords (line 39) | public void setWords(Set words) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/dat/exectuor/DatFilterExecutor.java class DatFilterExecutor (line 18) | public final class DatFilterExecutor extends AbstractFilterExecutor siblings) { method insert (line 121) | private int insert(List siblings) { method DoubleArrayTrie2 (line 203) | public DoubleArrayTrie2() { method clear (line 222) | void clear() { method getUnitSize (line 232) | public int getUnitSize() { method getSize (line 236) | public int getSize() { method getTotalSize (line 240) | public int getTotalSize() { method getNonzeroSize (line 244) | public int getNonzeroSize() { method build (line 252) | public int build(List key) { method build (line 256) | public int build(List _key, int _length[], int _value[], int _... method put (line 290) | public int put(String _key, int _length[], int _value[]) { method open (line 328) | public void open(String fileName) throws IOException { method save (line 347) | public void save(String fileName) throws IOException { method exactMatchSearch (line 362) | public int exactMatchSearch(String key) { method exactMatchSearch (line 366) | public int exactMatchSearch(String key, int pos, int len, int nodePos) { method commonPrefixSearch (line 395) | public List commonPrefixSearch(String key) { method commonPrefixSearch (line 399) | public List commonPrefixSearch(String key, int pos, int len, ... method dump (line 439) | public void dump() { method main (line 445) | public static void main(String[] args) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/dfa/DfaFilter.java class DfaFilter (line 18) | public class DfaFilter extends AbstractFilter { method DfaFilter (line 20) | public DfaFilter() { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/dfa/executor/DfaFilterExecutor.java class DfaFilterExecutor (line 21) | public final class DfaFilterExecutor extends AbstractFilterExecutor getChilds() { method setChilds (line 82) | public void setChilds(Map childs) { method print (line 86) | public void print(DfaNode node) { method main (line 96) | public static void main(String[] args) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/simhash/SimHashFilter.java class SimHashFilter (line 18) | public class SimHashFilter extends AbstractFilter { method SimHashFilter (line 20) | public SimHashFilter() { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/simhash/executor/FNVHashUtils.java class FNVHashUtils (line 18) | public abstract class FNVHashUtils { method hash64 (line 31) | public static BigInteger hash64(String text) { method hash64_ (line 47) | public static BigInteger hash64_(String text) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/simhash/executor/Murmur3.java class Murmur3 (line 24) | public class Murmur3 { method hash32 (line 51) | public static int hash32(byte[] data) { method hash32 (line 63) | public static int hash32(byte[] data, int length, int seed) { method hash64 (line 118) | public static long hash64(byte[] data) { method hash64 (line 130) | public static long hash64(byte[] data, int length, int seed) { method hash128 (line 191) | public static long[] hash128(byte[] data) { method hash128 (line 203) | public static long[] hash128(byte[] data, int length, int seed) { method fmix64 (line 310) | private static long fmix64(long h) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/simhash/executor/SimHashFilterExecutor.java class SimHashFilterExecutor (line 27) | public final class SimHashFilterExecutor extends AbstractFilterExecutor<... method SimHashFilterExecutor (line 29) | private SimHashFilterExecutor() { class SingleFactory (line 33) | private static class SingleFactory { method getInstance (line 37) | public static final SimHashFilterExecutor getInstance() { method getCacheNodes (line 41) | @Override method put (line 46) | @Override method processor (line 80) | @Override method main (line 123) | public static void main(String[] args) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/simhash/executor/SimHashUtils.java class SimHashUtils (line 72) | public abstract class SimHashUtils { method simhash (line 81) | public static Long simhash(Map words) { method simhash_ (line 137) | public static Long simhash_(Map words) { method simhash (line 182) | public static Long simhash(String word, int weight) { method simhash (line 221) | public static Long simhash(String word) { method _simhash (line 259) | public static String _simhash(String word) { method hash (line 297) | private static long hash(String target) { method _chunk (line 306) | public static String[] _chunk(Long simhash) { method chunk (line 323) | public static String[] chunk(String simhash) { method cartesianProduct (line 335) | public static Map> cartesianProduct(String[] chunk... method _cartesianProduct (line 350) | public static Map _cartesianProduct(String[] chunks, S... method _cartesianProduct (line 358) | public static Map _cartesianProduct(String[] chunks, Lon... method contains (line 366) | public static boolean contains(String word, Map> s... method _contains (line 388) | public static boolean _contains(String word, Map store) { method __contains (line 405) | public static boolean __contains(String word, Map store) { method hammingDistance (line 427) | public static int hammingDistance(int a, int b) { method hammingDistance (line 443) | public static int hammingDistance(Long a, Long b) { method hammingDistance (line 459) | public static int hammingDistance(String a, String b) { method main (line 474) | public static void main(String[] args) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/tire/TireTreeFilter.java class TireTreeFilter (line 18) | public class TireTreeFilter extends AbstractFilter { method TireTreeFilter (line 20) | public TireTreeFilter() { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/tire/executor/TireTreeFilterExecutor.java class TireTreeFilterExecutor (line 18) | public final class TireTreeFilterExecutor extends AbstractFilterExecutor... method TireTreeFilterExecutor (line 20) | private TireTreeFilterExecutor() { class SingleFactory (line 24) | private static class SingleFactory { method getInstance (line 28) | public static final TireTreeFilterExecutor getInstance() { method getCacheNodes (line 32) | @Override method processor (line 46) | protected boolean processor(boolean partMatch, String content, Callbac... method put (line 100) | @Override method main (line 140) | public static void main(String[] args) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/tire/executor/TireTreeNode.java class TireTreeNode (line 17) | public class TireTreeNode { method TireTreeNode (line 23) | public TireTreeNode() { method TireTreeNode (line 26) | public TireTreeNode(char _char) { method isLeaf (line 30) | public boolean isLeaf() { method getChar (line 34) | public char getChar() { method setChar (line 38) | public void setChar(char _char) { method isWord (line 42) | public boolean isWord() { method setWord (line 46) | public void setWord(boolean word) { method getChilds (line 50) | public List getChilds() { method setChilds (line 54) | public void setChilds(List childs) { method addChild (line 58) | public void addChild(TireTreeNode child) { method removeChild (line 66) | public void removeChild(TireTreeNode child) { method find (line 72) | public TireTreeNode find(char _char) { method print (line 83) | public void print(TireTreeNode node) { method main (line 93) | public static void main(String[] args) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/ttmp/TtmpFilter.java class TtmpFilter (line 18) | public class TtmpFilter extends AbstractFilter { method TtmpFilter (line 20) | public TtmpFilter() { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/ttmp/executor/BadWordsFilter.java class BadWordsFilter (line 18) | public class BadWordsFilter { method BadWordsFilter (line 38) | public BadWordsFilter() { method put (line 41) | public void put(String word) { method init (line 63) | public void init(String[] badwords) { method contains (line 69) | public boolean contains(String text) { method main (line 121) | public static void main(String[] args) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/ttmp/executor/TtmpCacheNode.java class TtmpCacheNode (line 16) | public class TtmpCacheNode { method getHash (line 36) | public HashSet getHash() { method setHash (line 40) | public void setHash(HashSet hash) { method getFastCheck (line 44) | public byte[] getFastCheck() { method setFastCheck (line 48) | public void setFastCheck(byte[] fastCheck) { method getFastLength (line 52) | public byte[] getFastLength() { method setFastLength (line 56) | public void setFastLength(byte[] fastLength) { method getMaxWordLength (line 60) | public int getMaxWordLength() { method setMaxWordLength (line 64) | public void setMaxWordLength(int maxWordLength) { method getMinWordLength (line 68) | public int getMinWordLength() { method setMinWordLength (line 72) | public void setMinWordLength(int minWordLength) { method getCharCheck (line 76) | public boolean[] getCharCheck() { method setCharCheck (line 80) | public void setCharCheck(boolean[] charCheck) { method getEndCheck (line 84) | public boolean[] getEndCheck() { method setEndCheck (line 88) | public void setEndCheck(boolean[] endCheck) { FILE: src/main/java/com/cnblogs/hoojo/sensitivewords/filter/ttmp/executor/TtmpFilterExecutor.java class TtmpFilterExecutor (line 19) | public final class TtmpFilterExecutor extends AbstractFilterExecutor