diff --git a/Bibliotheksverwaltung/src/DomainLayer/LibraryItem.java b/Bibliotheksverwaltung/src/DomainLayer/LibraryItem.java index 9c3a0f3..4e67ad1 100644 --- a/Bibliotheksverwaltung/src/DomainLayer/LibraryItem.java +++ b/Bibliotheksverwaltung/src/DomainLayer/LibraryItem.java @@ -3,13 +3,46 @@ package DomainLayer; import java.time.LocalDate; public abstract class LibraryItem { - private String id; - private String title; - private String author; - private boolean isLoaned; - private LocalDate dueDate; + private String id; + private String title; + private String author; + private boolean isLoaned; + private LocalDate dueDate; - // Konstruktor und Getter/Setter - public abstract int getLoanPeriod(); // Unterschiedliche Fristen für Medien - public abstract boolean canRenew(); // Verlängerungsmöglichkeit -} + public LibraryItem(String id, String title, String author) { + this.id = id; + this.title = title; + this.author = author != null ? author : "-"; + this.isLoaned = false; + } + + // Getter und Setter + public String getId() { + return id; + } + + public String getTitle() { + return title; + } + + public String getAuthor() { + return author; + } + + public boolean isLoaned() { + return isLoaned; + } + + public LocalDate getDueDate() { + return dueDate; + } + + public void setLoaned(boolean loaned, LocalDate dueDate) { + this.isLoaned = loaned; + this.dueDate = dueDate; + } + + public abstract int getLoanPeriod(); // Unterschiedliche Leihfristen + + public abstract boolean canRenew(); // Verlängerbarkeit +} \ No newline at end of file