Hi! Wir müssen in einer Übung eine Musikverwaltung schreiben. Jedoch gab es zur Ein / Ausgabe eine spezielle Vorgabe:
"Das Musik-Verwaltungssystem soll die Mo ̈glichkeit anbieten, Importer und Exporter in das System zu integrieren und diese zum Laden der Datenbank bzw. zur Abspeicherung und Ausgabe auf dem Bildschirm zu nutzen. Beispielsweise verwendet die Bildschirm- ausgabe einen Exporter und setzt dazu den Ausgabestrom auf die Konsole. Im Falle einer Dateiausgabe wu ̈rde der Ausgabestrom lediglich auf eine Datei umgelenkt. Der große Vorteil dieser Designentscheidung liegt darin, dass die grundlegenden Datenhaltungs- klassen nicht mit unno ̈tig vielen Routinen versehen werden und auch nicht kompiliert werden mu ̈ssen, wenn ein neues Ausgabe- oder Importformat integriert wird. Weiterhin erfordert ein neuer Importer oder Exporter auch keine A ̈nderungen am Sourcecode der Datenhaltungsklassen der Musik-Verwaltung. Das System ist besonders flexibel, wenn Drittanbieter Importer oder Exporter erstellen und integrieren mo ̈chten.
Vom Auftraggeber wird der Sourcecode fu ̈r einen Importer bereitgestellt. Die folgenden Schnittstellendefinitionen liegen vor:"
Hab mir dass so gedacht, dass ich eine Transferklasse schreibe welche beide Interfaces implementiert und die Ein / Ausgabe übernimmt. Ich habe allerdings keine Ahnung was ich mit den übergebenen Parametern anfangen soll. Vor Allem OutputStream / InputStream und Object kann ich nicht zuordnen.
Welchen Sinn hat es einen OutputStream zu übergeben?
Bin für jeden Tipp dankbar!
"Das Musik-Verwaltungssystem soll die Mo ̈glichkeit anbieten, Importer und Exporter in das System zu integrieren und diese zum Laden der Datenbank bzw. zur Abspeicherung und Ausgabe auf dem Bildschirm zu nutzen. Beispielsweise verwendet die Bildschirm- ausgabe einen Exporter und setzt dazu den Ausgabestrom auf die Konsole. Im Falle einer Dateiausgabe wu ̈rde der Ausgabestrom lediglich auf eine Datei umgelenkt. Der große Vorteil dieser Designentscheidung liegt darin, dass die grundlegenden Datenhaltungs- klassen nicht mit unno ̈tig vielen Routinen versehen werden und auch nicht kompiliert werden mu ̈ssen, wenn ein neues Ausgabe- oder Importformat integriert wird. Weiterhin erfordert ein neuer Importer oder Exporter auch keine A ̈nderungen am Sourcecode der Datenhaltungsklassen der Musik-Verwaltung. Das System ist besonders flexibel, wenn Drittanbieter Importer oder Exporter erstellen und integrieren mo ̈chten.
Vom Auftraggeber wird der Sourcecode fu ̈r einen Importer bereitgestellt. Die folgenden Schnittstellendefinitionen liegen vor:"
Java:
public interface Importer {
public Musik[] read(InputStream is, Object benutzerDaten)
throws IOException;
}
public interface Exporter {
public void write(Musik m, OutputStream os, Object benutzerDaten)
throws IOException;
}
Hab mir dass so gedacht, dass ich eine Transferklasse schreibe welche beide Interfaces implementiert und die Ein / Ausgabe übernimmt. Ich habe allerdings keine Ahnung was ich mit den übergebenen Parametern anfangen soll. Vor Allem OutputStream / InputStream und Object kann ich nicht zuordnen.
Welchen Sinn hat es einen OutputStream zu übergeben?
Bin für jeden Tipp dankbar!