01: /* SeedAcceptDecideRule
02: *
03: * $Id: SeedAcceptDecideRule.java 4649 2006-09-25 17:16:55Z paul_jack $
04: *
05: * Created on Sep 13, 2005
06: *
07: * Copyright (C) 2005 Internet Archive.
08: *
09: * This file is part of the Heritrix web crawler (crawler.archive.org).
10: *
11: * Heritrix is free software; you can redistribute it and/or modify
12: * it under the terms of the GNU Lesser Public License as published by
13: * the Free Software Foundation; either version 2.1 of the License, or
14: * any later version.
15: *
16: * Heritrix is distributed in the hope that it will be useful,
17: * but WITHOUT ANY WARRANTY; without even the implied warranty of
18: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19: * GNU Lesser Public License for more details.
20: *
21: * You should have received a copy of the GNU Lesser Public License
22: * along with Heritrix; if not, write to the Free Software
23: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24: */
25: package org.archive.crawler.deciderules;
26:
27: import org.archive.crawler.datamodel.CandidateURI;
28:
29: /**
30: * Rule which ACCEPTs all 'seed' URIs (those for which
31: * isSeed is true). Good in a late position to ensure
32: * other scope settings don't lock out explicitly added
33: * seeds.
34: *
35: * @author gojomo
36: */
37: public class SeedAcceptDecideRule extends AcceptDecideRule {
38:
39: private static final long serialVersionUID = 2167939872761313683L;
40:
41: public SeedAcceptDecideRule(String name) {
42: super (name);
43: setDescription("SeedAcceptDecideRule. ACCEPTs "
44: + "all CrawlURIs that were explicitly added "
45: + "as seeds -- even if earlier scope rules "
46: + "rejected them.");
47: }
48:
49: public Object decisionFor(Object object) {
50: try {
51: if (((CandidateURI) object).isSeed()) {
52: return ACCEPT;
53: }
54: } catch (ClassCastException e) {
55: // Do nothing
56: }
57: return PASS;
58: }
59: }
|