summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java
diff options
context:
space:
mode:
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.java35
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();
}
/*