Hallo
Ich habe drei Datenstrukturen (Employee, Shift, FreeDay), die alle das gemeinsame Interface Data haben:
Für jede Struktur habe ich habe ich eine Klasse geschrieben, die eine Liste von einer Struktur abspeichern und wieder einlesen kann (als XML-Datei auf die Platte):
alle read und write-Methoden haben unterschiedliche Implentierungen, load und save ist überall gleich
Nun möchte ich einen "allgemeinen" Container schreiben, der mit Hilfe von Generics genauer Spezifiziert werden kann.
Meine Frage ist:
abhängig davon, was Type ist, muss in save bzw. read ShiftAccessor, EmployeeAccessor oder FreeDayAccessor instanziert werden - doch wie bekomm ich das hin?
Danke!!
Ich habe drei Datenstrukturen (Employee, Shift, FreeDay), die alle das gemeinsame Interface Data haben:
Code:
interface Data{
String getName();
int getID();}
Für jede Struktur habe ich habe ich eine Klasse geschrieben, die eine Liste von einer Struktur abspeichern und wieder einlesen kann (als XML-Datei auf die Platte):
Code:
class ShiftAccessor{
public void write (Shift[])
public Shift[] read()
private load()
private save()}
Code:
class EmployeeAccessor{
public void write (Employee[])
public Employee[] read()
private load()
private save()}
Code:
class FreeDayAccessor{
public void write (FreeDay[])
public FreeDay[] read()
private load()
private save()}
alle read und write-Methoden haben unterschiedliche Implentierungen, load und save ist überall gleich
Nun möchte ich einen "allgemeinen" Container schreiben, der mit Hilfe von Generics genauer Spezifiziert werden kann.
Code:
class DataContainer<Type extends Data> {
void add(Type)
void remove(Type)
void save(Type)
void read()
int getUnusedID
}
Meine Frage ist:
abhängig davon, was Type ist, muss in save bzw. read ShiftAccessor, EmployeeAccessor oder FreeDayAccessor instanziert werden - doch wie bekomm ich das hin?
Danke!!