KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > archive > crawler > frontier > QueueAssignmentPolicy


1 /* QueueAssignmentPolicy
2 *
3 * $Id: QueueAssignmentPolicy.java,v 1.4 2005/06/09 01:21:45 stack-sf Exp $
4 *
5 * Created on Oct 5, 2004
6 *
7 * Copyright (C) 2004 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.frontier;
26
27 import org.archive.crawler.datamodel.CandidateURI;
28 import org.archive.crawler.framework.CrawlController;
29
30 /**
31  * Establishes a mapping from CrawlURIs to String keys (queue names).
32  *
33  * @author gojomo
34  */

35 public abstract class QueueAssignmentPolicy {
36     /**
37      * Get the String key (name) of the queue to which the
38      * CrawlURI should be assigned.
39      *
40      * Note that changes to the CrawlURI, or its associated
41      * components (such as CrawlServer), may change its queue
42      * assignment.
43      * @param controller This crawls' controller.
44      *
45      * @param cauri CandidateURI to calculate class key for.
46      * @return the String key of the queue to assign the CrawlURI
47      */

48     public abstract String JavaDoc getClassKey(CrawlController controller,
49         CandidateURI cauri);
50     
51     /**
52      * Returns the maximum number of different keys this policy
53      * can create. If there is no maximum, -1 is returned (default).
54      *
55      * @return Maximum number of different keys, or -1 if unbounded.
56      */

57     public int maximumNumberOfKeys() {
58         return -1;
59     }
60 }
61
Popular Tags