Der AbstractPackageReader hat zwei abgeleitete Klassen, TarPackageReader und ZipPackageReader. Diese Klassen kümmern sich um das Auspacken entsprechender Dateien in ein temporäres Verzeichnis. Sie kümmern sich aber auch um die Verarbeitung des Inhalts des Datei. Damit ist die Verwendbarkeit auf die OPUS 4 Sword-Pakete beschränkt.
Die Tar/Zip-Funktionalität soll unabhängig von der Weiterverarbeitung nutzbar sein. Es möglich sein den weiter verarbeitenden Code mit einem Verzeichnis zu verwenden, egal ob es vorher ausgepackt wurde oder schon da war.
Es sollte eine Funktion für die Bereinigung der temporären Dateien geben, deren Verwendung durch den übergeordneten Workflow-Code gesteuert wird.
Die Tar/Zip-Klassen sollten wissen welche MIME-Types sie unterstützen. Klassen, die weitere MIME-Types unterstützen sollten konfigurierbar sein.
Der eigentliche Code für die Verarbeitung von Imports sollte nicht direkt von den Klassen abhängig sein. Dafür muss ein Interface eingeführt werden.
Die Namen der Dateien sollten nicht fest im Code stehen.
Der
AbstractPackageReader
hat zwei abgeleitete Klassen,TarPackageReader
undZipPackageReader
. Diese Klassen kümmern sich um das Auspacken entsprechender Dateien in ein temporäres Verzeichnis. Sie kümmern sich aber auch um die Verarbeitung des Inhalts des Datei. Damit ist die Verwendbarkeit auf die OPUS 4 Sword-Pakete beschränkt.Die Tar/Zip-Funktionalität soll unabhängig von der Weiterverarbeitung nutzbar sein. Es möglich sein den weiter verarbeitenden Code mit einem Verzeichnis zu verwenden, egal ob es vorher ausgepackt wurde oder schon da war.
Es sollte eine Funktion für die Bereinigung der temporären Dateien geben, deren Verwendung durch den übergeordneten Workflow-Code gesteuert wird.
Die Tar/Zip-Klassen sollten wissen welche MIME-Types sie unterstützen. Klassen, die weitere MIME-Types unterstützen sollten konfigurierbar sein.
Der eigentliche Code für die Verarbeitung von Imports sollte nicht direkt von den Klassen abhängig sein. Dafür muss ein Interface eingeführt werden.
Die Namen der Dateien sollten nicht fest im Code stehen.