35 lines
1.5 KiB
Java
35 lines
1.5 KiB
Java
package backend.creator; // Creator gehört zum benutzer-Paket
|
|
import backend.medium.*; // Importiert alle Klassen aus dem medium-Paket
|
|
import backend.benutzer.*;// Optional, falls du auf die anderen Benutzer-Klassen zugreifen möchtest
|
|
|
|
public class Creator {
|
|
// Factory-Methode für Benutzer
|
|
public static Benutzer factoryBenutzer(String name, String nachname, int kundennummer, String art) {
|
|
if (art.equalsIgnoreCase("e")) {
|
|
return new Erwachsener(name, nachname, kundennummer); // Erstelle einen Erwachsenen
|
|
} else if (art.equalsIgnoreCase("s")) {
|
|
return new SchuelerStudent(name, nachname, kundennummer, art); // Erstelle einen Schüler/Studenten
|
|
} else {
|
|
return null; // Unbekannte Benutzerart
|
|
}
|
|
}
|
|
|
|
// Factory-Methode für backend.medium.Medien
|
|
public static Medien factoryMedien(String name, String regisseur, int id, String art, int erscheinungsjahr) {
|
|
switch (art.toLowerCase()) {
|
|
case "buch":
|
|
return new Book(name, regisseur, id, erscheinungsjahr);
|
|
case "dvd":
|
|
return new Dvds(name, regisseur, id);
|
|
case "cd":
|
|
return new Cds(name, id);
|
|
case "sb":
|
|
return new Brettspiel(name, id);
|
|
case "videospiel":
|
|
return new Videospiel(name, regisseur, id);
|
|
default:
|
|
throw new IllegalArgumentException("Unbekannter Medientyp: " + art);
|
|
}
|
|
}
|
|
}
|