001: /*
002: * regain - A file search engine providing plenty of formats
003: * Copyright (C) 2004 Til Schneider
004: *
005: * This library is free software; you can redistribute it and/or
006: * modify it under the terms of the GNU Lesser General Public
007: * License as published by the Free Software Foundation; either
008: * version 2.1 of the License, or (at your option) any later version.
009: *
010: * This library is distributed in the hope that it will be useful,
011: * but WITHOUT ANY WARRANTY; without even the implied warranty of
012: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
013: * Lesser General Public License for more details.
014: *
015: * You should have received a copy of the GNU Lesser General Public
016: * License along with this library; if not, write to the Free Software
017: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
018: *
019: * Contact: Til Schneider, info@murfman.de
020: *
021: * CVS information:
022: * $RCSfile$
023: * $Source$
024: * $Date: 2004-11-10 16:08:52 +0100 (Mi, 10 Nov 2004) $
025: * $Author: til132 $
026: * $Revision: 10 $
027: */
028: package net.sf.regain.crawler;
029:
030: /**
031: * Hilfsklasse für den Crawler.
032: * <p>
033: * Enthält alle Daten, die für die Bearbeitung einer URL nötig sind.
034: * <p>
035: * Der Crawler erzeugt für jede akzeptierte URL eine CrawlerJob-Instanz, die dann
036: * nacheinander abgearbeitet werden.
037: *
038: * @author Til Schneider, www.murfman.de
039: */
040: public class CrawlerJob {
041:
042: /** Die URL des zu bearbeitenden Dokuments. */
043: private String mUrl;
044: /**
045: * Die URL des Dokuments, in dem die URL des zu bearbeitenden Dokuments
046: * gefunden wurde.
047: */
048: private String mSourceUrl;
049: /**
050: * Der Text des Links in dem die URL gefunden wurde. Ist <code>null</code>,
051: * falls die URL nicht in einem Link (also einem a-Tag) gefunden wurde oder
052: * wenn aus sonstigen Gründen kein Link-Text vorhanden ist.
053: */
054: private String mSourceLinkText;
055: /** Gibt an, ob das Dokument nach weiteren URLs durchsucht werden soll. */
056: private boolean mShouldBeParsed;
057: /** Gibt an, ob das Dokument indiziert werden soll. */
058: private boolean mShouldBeIndexed;
059:
060: /**
061: * Erzeugt eine neue CrawlerJob-Instanz.
062: *
063: * @param url Die URL des zu bearbeitenden Dokuments.
064: * @param sourceUrl Die URL des Dokuments, in dem die URL des zu bearbeitenden
065: * Dokuments gefunden wurde.
066: * @param sourceLinkText Der Text des Links in dem die URL gefunden wurde. Ist
067: * <code>null</code>, falls die URL nicht in einem Link (also einem
068: * a-Tag) gefunden wurde oder wenn aus sonstigen Gründen kein Link-Text
069: * vorhanden ist.
070: * @param shouldBeParsed Gibt an, ob das Dokument nach weiteren URLs
071: * durchsucht werden soll.
072: * @param shouldBeIndexed Gibt an, ob das Dokument indiziert werden soll.
073: */
074: public CrawlerJob(String url, String sourceUrl,
075: String sourceLinkText, boolean shouldBeParsed,
076: boolean shouldBeIndexed) {
077: mUrl = url;
078: mSourceUrl = sourceUrl;
079: mSourceLinkText = sourceLinkText;
080: mShouldBeParsed = shouldBeParsed;
081: mShouldBeIndexed = shouldBeIndexed;
082: }
083:
084: /**
085: * Gibt die URL des zu bearbeitenden Dokuments zurück.
086: *
087: * @return Die URL des zu bearbeitenden Dokuments.
088: */
089: public String getUrl() {
090: return mUrl;
091: }
092:
093: /**
094: * Gibt Die URL des Dokuments zurück, in dem die URL des zu bearbeitenden
095: * Dokuments gefunden wurde.
096: *
097: * @return Die URL des Dokuments, in dem die URL des zu bearbeitenden
098: * Dokuments gefunden wurde.
099: */
100: public String getSourceUrl() {
101: return mSourceUrl;
102: }
103:
104: /**
105: * Gibt den Text des Links zurück in dem die URL gefunden wurde.
106: * <p>
107: * Ist <code>null</code>, falls die URL nicht in einem Link (also einem a-Tag)
108: * gefunden wurde oder wenn aus sonstigen Gründen kein Link-Text vorhanden ist.
109: *
110: * @return Der Text des Links zurück in dem die URL gefunden wurde.
111: */
112: public String getSourceLinkText() {
113: return mSourceLinkText;
114: }
115:
116: /**
117: * Gibt zurück, ob das Dokument nach weiteren URLs durchsucht werden soll.
118: *
119: * @return Ob das Dokument nach weiteren URLs durchsucht werden soll.
120: */
121: public boolean shouldBeParsed() {
122: return mShouldBeParsed;
123: }
124:
125: /**
126: * Gibt zurück, ob das Dokument indiziert werden soll.
127: *
128: * @return Ob das Dokument indiziert werden soll.
129: */
130: public boolean shouldBeIndexed() {
131: return mShouldBeIndexed;
132: }
133:
134: }
|