View Javadoc

    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  }