From 55f4ca86ef5207ff2be82ac998291d289b028f8c Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Mon, 11 Jan 2016 21:38:54 +0100 Subject: Update model multiplicity --- .../inf/se/projektthemenvergabe/model/Student.java | 35 ++++++++++++++++++---- 1 file changed, 30 insertions(+), 5 deletions(-) (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java') 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 = new SimpleObjectProperty<>(); /** * Constructor of {@link Student}. @@ -132,26 +134,49 @@ public class Student this.matrikelnummerProperty().set(matrikelnummer); } + /** + * Getter for property projekt. + * + * @return Returns the projekt. + */ + public ObjectProperty 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(); } /* -- cgit v1.2.3-70-g09d2