1 /* NotSurtPrefixedDecideRule
2 *
3 * $Id: NotSurtPrefixedDecideRule.java 4649 2006-09-25 17:16:55Z paul_jack $
4 *
5 * Created on Apr 5, 2005
6 *
7 * Copyright (C) 2005 Internet Archive.
8 *
9 * 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
28 /***
29 * Rule applies configured decision to any URIs that, when
30 * expressed in SURT form, do *not* begin with one of the prefixes
31 * in the configured set.
32 *
33 * The set can be filled with SURT prefixes implied or
34 * listed in the seeds file, or another external file.
35 *
36 * @author gojomo
37 */
38 public class NotSurtPrefixedDecideRule extends SurtPrefixedDecideRule {
39
40 private static final long serialVersionUID = -7491388438128566377L;
41
42 //private static final Logger logger =
43 // Logger.getLogger(NotSurtPrefixedDecideRule.class.getName());
44 /***
45 * Usual constructor.
46 * @param name
47 */
48 public NotSurtPrefixedDecideRule(String name) {
49 super(name);
50 setDescription(
51 "NotSurtPrefixedDecideRule. Makes the configured decision " +
52 "for any URI which, when expressed in SURT form, does *not* " +
53 "begin with the established prefixes (from either seeds " +
54 "specification or an external file).");
55 }
56
57 /***
58 * Evaluate whether given object's URI is NOT in the SURT
59 * prefix set -- simply reverse superclass's determination
60 *
61 * @param object
62 * @return true if regexp is matched
63 */
64 protected boolean evaluate(Object object) {
65 return !super.evaluate(object);
66 }
67 }