diff options
Diffstat (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java')
| -rw-r--r-- | src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java index 740fa00..7265b94 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java @@ -1,7 +1,9 @@ package de.fhswf.in.inf.se.projektthemenvergabe.model; import javafx.beans.property.IntegerProperty; +import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleIntegerProperty; +import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; @@ -20,7 +22,7 @@ public class Student private IntegerProperty matrikelnummer = new SimpleIntegerProperty(0); - private Projekt projekt; + private ObjectProperty<Projekt> projekt = new SimpleObjectProperty<>(); /** * Constructor of {@link Student}. @@ -133,25 +135,48 @@ public class Student } /** + * Getter for property projekt. + * + * @return Returns the projekt. + */ + public ObjectProperty<Projekt> projektProperty() + { + return projekt; + } + + /** * - * Set the Projekt to Student. + * Set the Projekt for Student. * * @param projekt */ public void setProjekt(Projekt projekt) { - this.projekt = projekt; + if (this.projekt.get() == null || !this.projekt.get().equals(projekt)) + { + if (this.projekt.get() != null) + { + this.projekt.get().removeStudent(this); + } + + this.projekt.set(projekt); + + if (projekt != null) + { + projekt.addStudent(this); + } + } } /** * * Getter for Projekt. * - * @return Returns the Projekt of the student + * @return Returns The Projekt of the student */ public Projekt getProjekt() { - return this.projekt; + return this.projekt.get(); } /* |
