PR2-Testat-Bibliotheksverwa.../Biblio/src/Bibliothek/Medien.java

64 lines
1.6 KiB
Java

package Bibliothek;
import java.time.LocalDate;
public abstract class Medien {
protected String titel;
protected String id;
protected int erscheinungsjahr;
protected boolean verfuegbar;
protected LocalDate rueckgabedat;
public Medien(String titel, String id, int erscheinungsjahr) {
this.titel = titel;
this.id = id;
this.erscheinungsjahr = erscheinungsjahr;
this.verfuegbar = true;
}
public String getTitel() {
return titel;
}
public void setTitel(String titel) {
this.titel = titel;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getErscheinungsjahr() {
return erscheinungsjahr;
}
public void setErscheinungsjahr(int er) {
this.erscheinungsjahr = er;
}
public abstract int getAusleihdauer();
public abstract int getMaxVerlaengerungen();
public void ausleihen() {
if (verfuegbar) {
verfuegbar = false;
rueckgabedat = LocalDate.now().plusWeeks(getAusleihdauer());
System.out.println("Ausgeliehen bis: " + rueckgabedat);
} else {
System.out.println("Nicht verfügbar.");
}
}
public boolean verlaengern(int aktuelleVerlaengerungen) {
if (aktuelleVerlaengerungen < getMaxVerlaengerungen()) {
rueckgabedat = rueckgabedat.plusWeeks(getAusleihdauer());
return true;
}
return false;
}
public void zurueckgeben() {
verfuegbar = true;
rueckgabedat = null;
}
public abstract String getDetails();
}