Skip to content

Development NewParser

Florian Fehring edited this page Oct 5, 2026 · 1 revision

Diese Anleitung erklärt, wie ein neuer Parser geschrieben werden kann.

  • Ein Parser dient der Verarbeitung von Daten, damit diese für den Import aufbereitet werden können.
  • Jeder Parser liest die Inhalte aus einem Stream
  • Jeder Parser nutzt die Schnittstellen des Importers, um Daten hinzuzufügen
  • Parser sollen immer so allgemein wie möglich geschrieben werden, setzen sie lieber auf Konfigurierbarkeit, als sich zu sehr auf ein Datenformat zu fixieren.

Parser sind NICHT dafür da Anbindungen an neue Datenquellen (z.B. Datenbanken) zu realisieren, hierfür implementieren Sie bitte einen eigenen Importer.

Abstrakte Parser-Klasse

Ausgangspunkt für jeden neuen Parser ist die abstrakte Klasse Parser. Diese bietet Zugriff auf den Importer.

Packages

Sie können ihren Parser in einem beliebigen Unterpackage von de.smartdata.porter.importer.parser anlegen. Er wird automatisch eingebunden und zur Verfügung gestellt.

Zu implementierende Methoden

Die folgenden Methoden müssen für den Parser implementiert werden:

Methode Beschreibung
getDescription() Liefert eine kurze Beschreibung ihres Parsers für den Endanwender
isAccepted() Prüft anhand von Mime-Type, Inhalt oder Dateinamen die Zuständigkeit
preParse() Für vor dem Parsvorgang durchzuführende Aufgaben
parse(InputStream is) Parst den InputStream und fügt die Daten zum Importer hinzu

Importer

Der Importer steht ihnen innerhalb des Parsers über this._importer zur Verfügung. Er bietet folgende Methoden:

Methode Beschreibung
getConfig() Liefert die Import-Konfiguration
getStreamDescriptor() Beschreibung des zu parsenden Streams (z.B. Dateiname, Anlagedatum)
addDataSet(JsonObject) Hinzufügen eines einzelnen Datensatzes
addDataSets(List<>) Hinzufügen mehrerer Datensätze

ParserResult

Das ParserResult dient der Statistik und Anzeige für den Endnutzer. Es muss durch jeden Parser gefüllt werden. Weitere Informationen siehe: ParserResult

Clone this wiki locally