From bdec8b2ed49f0473168638c9220209dc77a3afd8 Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Tue, 15 Dec 2015 23:58:04 +0100 Subject: Add model and JavaFXify it --- .../model/Ansprechpartner.java | 32 +++++ .../inf/se/projektthemenvergabe/model/Projekt.java | 150 +++++++++++++++++++++ .../inf/se/projektthemenvergabe/model/Student.java | 72 ++++++++++ 3 files changed, 254 insertions(+) create mode 100644 src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java create mode 100644 src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java (limited to 'src/de/fhswf/in/inf/se') diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java index fb59831..caa7962 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java @@ -1,6 +1,7 @@ package de.fhswf.in.inf.se.projektthemenvergabe.model; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import javafx.beans.Observable; @@ -14,6 +15,8 @@ public class Ansprechpartner private StringProperty nachname = new SimpleStringProperty(); + private ArrayList projekt = new ArrayList(); + private Organisation organisation; /** @@ -46,6 +49,35 @@ public class Ansprechpartner this.organisation.addAnsprechpartner(this); } + /** + * TODO Add method comment here + * + * @return + */ + public List getProjekte() + { + return Collections.unmodifiableList(projekt); + } + + /** + * TODO Add method comment here + * + * @param projekt + */ + public void addProjekt(Projekt projekt) + { + this.projekt.add(projekt); + } + + /** + * TODO Add method comment here + * + * @param projekt + */ + public void removeProjekt(Projekt projekt) + { + this.projekt.remove(projekt); + } /** * Getter for organisation. diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java new file mode 100644 index 0000000..5b09fce --- /dev/null +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java @@ -0,0 +1,150 @@ +package de.fhswf.in.inf.se.projektthemenvergabe.model; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +import javafx.beans.property.ObjectProperty; +import javafx.beans.property.SimpleObjectProperty; +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; + +public class Projekt +{ + private StringProperty projektthema = new SimpleStringProperty(""); + + private StringProperty skizze = new SimpleStringProperty(""); + + private StringProperty projektbeschreibung = new SimpleStringProperty(""); + + private StringProperty projekteinhalte = new SimpleStringProperty(""); + + private ObjectProperty präsentationstermin = new SimpleObjectProperty(); + + private ArrayList student = new ArrayList(); + + private Ansprechpartner ansprechpartner; + + public Projekt(Student student1, Student student2, Student student3, + Ansprechpartner ansprechpartner) + { + if (student1 == null && student2 == null && student3 == null) + { + throw new IllegalArgumentException( + "Zumindest ein Student sollte das Projekt bearbeiten."); + } + + if (ansprechpartner == null) + { + throw new IllegalArgumentException( + "Das Projekt sollte irgendwo gemacht werden."); + } + + if (student1 != null) + { + student.add(student1); + student1.setProjekt(this); + } + + if (student2 != null) + { + student.add(student2); + student2.setProjekt(this); + } + + if (student3 != null) + { + student.add(student3); + student3.setProjekt(this); + } + + this.ansprechpartner = ansprechpartner; + this.ansprechpartner.addProjekt(this); + } + + public final StringProperty projektthemaProperty() + { + return this.projektthema; + } + + public final String getProjektthema() + { + return this.projektthemaProperty().get(); + } + + public final void setProjektthema(final String projektthema) + { + this.projektthemaProperty().set(projektthema); + } + + public final StringProperty skizzeProperty() + { + return this.skizze; + } + + public final String getSkizze() + { + return this.skizzeProperty().get(); + } + + public final void setSkizze(final String skizze) + { + this.skizzeProperty().set(skizze); + } + + public final StringProperty projektbeschreibungProperty() + { + return this.projektbeschreibung; + } + + public final String getProjektbeschreibung() + { + return this.projektbeschreibungProperty().get(); + } + + public final void setProjektbeschreibung(final String projektbeschreibung) + { + this.projektbeschreibungProperty().set(projektbeschreibung); + } + + public final StringProperty projekteinhalteProperty() + { + return this.projekteinhalte; + } + + public final String getProjekteinhalte() + { + return this.projekteinhalteProperty().get(); + } + + public final void setProjekteinhalte(final String projekteinhalte) + { + this.projekteinhalteProperty().set(projekteinhalte); + } + + public final ObjectProperty präsentationsterminProperty() + { + return this.präsentationstermin; + } + + public final java.util.Date getPräsentationstermin() + { + return this.präsentationsterminProperty().get(); + } + + public final void setPräsentationstermin(final Date präsentationstermin) + { + this.präsentationsterminProperty().set(präsentationstermin); + } + + public List getStudents() + { + return Collections.unmodifiableList(student); + } + + public Ansprechpartner getAnsprechpartner() + { + return this.ansprechpartner; + } +} \ No newline at end of file diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java new file mode 100644 index 0000000..7461c26 --- /dev/null +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java @@ -0,0 +1,72 @@ +package de.fhswf.in.inf.se.projektthemenvergabe.model; + +import javafx.beans.property.IntegerProperty; +import javafx.beans.property.SimpleIntegerProperty; +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; + +public class Student +{ + private StringProperty vorname = new SimpleStringProperty(""); + + private StringProperty nachname = new SimpleStringProperty(""); + + private IntegerProperty matrikelnummer = new SimpleIntegerProperty(0); + + private Projekt projekt; + + public final StringProperty vornameProperty() + { + return this.vorname; + } + + public final String getVorname() + { + return this.vornameProperty().get(); + } + + public final void setVorname(final String vorname) + { + this.vornameProperty().set(vorname); + } + + public final StringProperty nachnameProperty() + { + return this.nachname; + } + + public final String getNachname() + { + return this.nachnameProperty().get(); + } + + public final void setNachname(final String nachname) + { + this.nachnameProperty().set(nachname); + } + + public final IntegerProperty matrikelnummerProperty() + { + return this.matrikelnummer; + } + + public final int getMatrikelnummer() + { + return this.matrikelnummerProperty().get(); + } + + public final void setMatrikelnummer(final int matrikelnummer) + { + this.matrikelnummerProperty().set(matrikelnummer); + } + + public void setProjekt(Projekt projekt) + { + this.projekt = projekt; + } + + public Projekt getProjekt() + { + return this.projekt; + } +} \ No newline at end of file -- cgit v1.2.3-70-g09d2