Zum Hauptinhalt springen

Bibliothek

Setze das abgebildete Klassendiagramm vollständig um. Erstelle zum Testen eine ausführbare Klasse und/oder eine Testklasse.

Klassendiagramm

Allgemeine Hinweise

  • Aus Gründen der Übersicht werden im Klassendiagramm keine Getter und Object-Methoden dargestellt
  • So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die Object-Methoden wie gewohnt implementiert werden
  • Die statische Methode UUID randomUUID() der Klasse UUID gibt eine zufällig erstellte UUID zurück

Hinweis zur Klasse EBook

Der Konstruktor soll alle Attribute initialisieren. Für den Fall, dass die eingehende Dateigröße kleiner gleich Null ist, soll die Ausnahme WrongFileSizeException ausgelöst werden.

Hinweise zur Klasse Library

  • Die Methode void addBook(book: Book) soll der Bücherliste (books) das eingehende Buch mit dem Status verfügbar hinzufügen
  • Die Methode Optional<Book> getBookByTitle(title: String) soll das Buch zum eingehenden Titel als Optional zurückgeben
  • Die Methode List<PaperBook> getPaperBooksByStatus(status: Status) soll alle gedruckten Bücher zum eingehenden Status zurückgeben