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