01: /* Copyright (C) 2003 Internet Archive.
02: *
03: * This file is part of the Heritrix web crawler (crawler.archive.org).
04: *
05: * Heritrix is free software; you can redistribute it and/or modify
06: * it under the terms of the GNU Lesser Public License as published by
07: * the Free Software Foundation; either version 2.1 of the License, or
08: * any later version.
09: *
10: * Heritrix is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13: * GNU Lesser Public License for more details.
14: *
15: * You should have received a copy of the GNU Lesser Public License
16: * along with Heritrix; if not, write to the Free Software
17: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18: *
19: * MemUURISet.java
20: * Created on Sep 15, 2003
21: *
22: * $Header$
23: */
24: package org.archive.crawler.util;
25:
26: import java.util.HashSet;
27:
28: /**
29: * A purely in-memory UriUniqFilter based on a HashSet, which remembers
30: * every full URI string it sees.
31: *
32: * @author gojomo
33: *
34: */
35: public class MemUriUniqFilter extends SetBasedUriUniqFilter {
36: HashSet<CharSequence> hashSet;
37:
38: protected synchronized boolean setAdd(CharSequence uri) {
39: return hashSet.add(uri);
40: }
41:
42: protected synchronized boolean setRemove(CharSequence uri) {
43: return hashSet.remove(uri);
44: }
45:
46: protected synchronized long setCount() {
47: return (long) hashSet.size();
48: }
49:
50: /* (non-Javadoc)
51: * @see org.archive.crawler.util.UriUniqFilterImpl#createUriSet()
52: */
53: protected void createUriSet() {
54: hashSet = new HashSet<CharSequence>();
55: }
56:
57: }
|