searchDesign
Class Parser

java.lang.Object
  |
  +--searchDesign.Parser

public class Parser
extends java.lang.Object
implements ParserInterface

Beschreibung: Der Parser wird über die Methode initialize mit einer Stopwort-Datei und einem Crawler initialisiert. Er bearbeitet sequentiell alle Dateien, die der Crawler ihm zur Verfügung stellt mit seiner Methode nextWord. Die Methode nextWord, die die nextWord() des benoetigten Filters aufruft gibt erst null zurück, wenn das letzte Wort der letzten Datei abgearbeitet wurde. Nachdem er alle Dateien abgearbeitet hat, erzeugt der Parser eine docMap-Datei (Methode writeDocMap, s.u.) und schreibt die Pfade der bearbeiteten Dateien, jeweils gefolgt (in einer neuen Zeile) von der Anzahl der eingelesenen Nichtstopwörter.

Author:
Fabian Steeg

Constructor Summary
Parser()
           
 
Method Summary
 void initialize(java.lang.String stopWordFileName, CrawlerInterface crawler)
          Initialisierungsmethode Liest die Stopwords datei ein und traegt sie auf eine Hashtable ein
 Data nextWord()
          liefert jeweils ein Wort zurück, in Form eines KeyData.
 void writeDocMap(java.lang.String fileName)
          schreibt in der DocMap-Datei mit Namen fileName folgende Informationen:
- in der ersten Zeile: die Anzahl der bearbeiteten Dateien
- danach jeweils den Pfad zu einer bearbeiteten Datei, gefolgt in einer eigenen Zeile von der Anzahl der in der betroffenen Datei eingelesenen Nichtstopwörter.
Die DocMap-Datei enthält keine Leerzeilen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Parser

public Parser()
Method Detail

initialize

public void initialize(java.lang.String stopWordFileName,
                       CrawlerInterface crawler)
                throws java.io.FileNotFoundException,
                       java.io.IOException
Initialisierungsmethode Liest die Stopwords datei ein und traegt sie auf eine Hashtable ein
Specified by:
initialize in interface ParserInterface
Parameters:
stopWordFileName - Der Pfad zu der Datei, die die Stopwörter enthält
crawler - Der zuvor erzeugte Crawler
Throws:
java.io.FileNotFoundException -  
java.io.IOException -  

nextWord

public Data nextWord()
              throws java.io.IOException,
                     java.io.FileNotFoundException
liefert jeweils ein Wort zurück, in Form eines KeyData. Der Parser berücksichtigt nur Nichtstopwörter, d.h. Stopwörter werden überlesen. Bei Nichtstopwörtern gibt der Parser ein KeyData zurück. Ein KeyData enthält:
- den eingelesenen String als key (klein geschrieben),
- die Anfangsposition des Wortes,
- den Abstand zwischen dem vorigen und dem eingelesen Wort im Text, d.h. die Anzahl der Nichtwortzeichen zwischen den beiden Wörtern,
- die ID (int) des Dokuments, in dem das Wort enthalten ist.
Es wird immer der Abstand zum tatsächlichen vorigen Wort im Text gespeichert, unabhängig davon, ob dieses ein Stopwort ist oder nicht.
Specified by:
nextWord in interface ParserInterface
Returns:
ein Keydata-Objekt mit oben beschriebenem Inhalt oder null
Throws:
java.io.IOException -  
java.io.FileNotFoundException -  

writeDocMap

public void writeDocMap(java.lang.String fileName)
schreibt in der DocMap-Datei mit Namen fileName folgende Informationen:
- in der ersten Zeile: die Anzahl der bearbeiteten Dateien
- danach jeweils den Pfad zu einer bearbeiteten Datei, gefolgt in einer eigenen Zeile von der Anzahl der in der betroffenen Datei eingelesenen Nichtstopwörter.
Die DocMap-Datei enthält keine Leerzeilen
Specified by:
writeDocMap in interface ParserInterface
Parameters:
fileName - Der Pfad zur DocMap-Datei