Methode hinzugefügt
parent
7ecd2575c2
commit
1816c277d8
|
|
@ -2,77 +2,79 @@ package DomainLayer;
|
|||
|
||||
import java.time.LocalDate;
|
||||
|
||||
public abstract class Medium {
|
||||
private String id;
|
||||
private String title;
|
||||
private String releaseYear;
|
||||
private boolean isBorrowed;
|
||||
private LocalDate borrowDate;
|
||||
private LocalDate dueDate;
|
||||
private int renewals;
|
||||
public abstract class Medium implements Loanable {
|
||||
private String id;
|
||||
private String title;
|
||||
private String releaseYear;
|
||||
private boolean isBorrowed;
|
||||
private LocalDate borrowDate;
|
||||
private LocalDate dueDate;
|
||||
|
||||
public Medium(String id, String title, String releaseYear) {
|
||||
this.id = id;
|
||||
this.title = title;
|
||||
this.releaseYear = releaseYear;
|
||||
this.isBorrowed = false;
|
||||
this.renewals = 0;
|
||||
}
|
||||
// Konstruktor
|
||||
public Medium(String id, String title, String releaseYear) {
|
||||
this.id = id;
|
||||
this.title = title;
|
||||
this.releaseYear = releaseYear;
|
||||
}
|
||||
|
||||
private int renewals = 0; // Anzahl der bisherigen Verlängerungen
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
// Getter und Setter für Verlängerungen
|
||||
public int getRenewals() {
|
||||
return renewals;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
public void increaseRenewals() {
|
||||
renewals++;
|
||||
}
|
||||
|
||||
public String getReleaseYear() {
|
||||
return releaseYear;
|
||||
}
|
||||
public void resetRenewals() {
|
||||
renewals = 0;
|
||||
}
|
||||
|
||||
public boolean isBorrowed() {
|
||||
return isBorrowed;
|
||||
}
|
||||
|
||||
public void setBorrowed(boolean borrowed) {
|
||||
this.isBorrowed = borrowed;
|
||||
}
|
||||
@Override
|
||||
public void setBorrowDate(LocalDate borrowDate) {
|
||||
this.borrowDate = borrowDate;
|
||||
this.dueDate = borrowDate != null ? borrowDate.plusDays(getBorrowPeriod()) : null; // Fälligkeitsdatum berechnen
|
||||
}
|
||||
|
||||
public LocalDate getDueDate() {
|
||||
return dueDate;
|
||||
}
|
||||
|
||||
public void setDueDate(LocalDate dueDate) {
|
||||
this.dueDate = dueDate;
|
||||
}
|
||||
@Override
|
||||
public LocalDate getDueDate() {
|
||||
return dueDate;
|
||||
}
|
||||
|
||||
public int getRenewals() {
|
||||
return renewals;
|
||||
}
|
||||
public void setDueDate(LocalDate dueDate) {
|
||||
this.dueDate = dueDate; // Erlaubt sowohl ein Datum als auch null
|
||||
}
|
||||
|
||||
public void increaseRenewals() {
|
||||
this.renewals++;
|
||||
}
|
||||
|
||||
public void resetRenewals() {
|
||||
this.renewals = 0;
|
||||
}
|
||||
public boolean isBorrowed() {
|
||||
return isBorrowed;
|
||||
}
|
||||
|
||||
// Abstrakte Methoden
|
||||
public abstract int getBorrowPeriod();
|
||||
public abstract boolean isRenewable();
|
||||
public abstract int getMaxRenewals();
|
||||
public void setBorrowed(boolean borrowed) {
|
||||
isBorrowed = borrowed;
|
||||
}
|
||||
|
||||
// Neue Methode für den Autor
|
||||
public abstract String getAuthor();
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public LocalDate getBorrowDate() {
|
||||
return borrowDate;
|
||||
}
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public String getReleaseYear() {
|
||||
return releaseYear;
|
||||
}
|
||||
|
||||
// Neue Methode für den Autor
|
||||
public abstract String getAuthor();
|
||||
|
||||
public LocalDate getBorrowDate() {
|
||||
return borrowDate;
|
||||
}
|
||||
|
||||
public void setBorrowDate(LocalDate borrowDate) {
|
||||
this.borrowDate = borrowDate;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue