summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-12-08 21:42:05 +0100
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-12-08 21:42:05 +0100
commit88abbc5d8b2e8b19eaeaf6c7d34953dddb449509 (patch)
tree4ce4c4a3dd12d76bf1fdd57739b2c06a6f784096
parente101e47e41490baa4661613bde2294e6c87a5160 (diff)
downloadProjektthemenvergabe-88abbc5d8b2e8b19eaeaf6c7d34953dddb449509.tar.gz
Projektthemenvergabe-88abbc5d8b2e8b19eaeaf6c7d34953dddb449509.zip
Add properties to the model
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java122
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java92
2 files changed, 188 insertions, 26 deletions
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 a57dac2..11873e0 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java
@@ -1,46 +1,136 @@
package de.fhswf.in.inf.se.projektthemenvergabe.model;
+import javafx.beans.Observable;
+import javafx.beans.property.SimpleStringProperty;
+import javafx.beans.property.StringProperty;
+import javafx.util.Callback;
+
public class Ansprechpartner
{
- private String vorname;
+ private StringProperty vorname = new SimpleStringProperty();
- private String nachname;
+ private StringProperty nachname = new SimpleStringProperty();
private Organisation organisation;
- public String getVorname()
+ /**
+ * Generates an extractor that fires when a property of a list value
+ * changes.
+ *
+ * @return The extractor.
+ */
+ public static Callback<Ansprechpartner, Observable[]> extractor()
{
- return this.vorname;
+ return ansprechpartner -> new Observable[] {
+ ansprechpartner.vornameProperty(),
+ ansprechpartner.nachnameProperty(),
+ ansprechpartner.getOrganisation().nameProperty() };
}
- public void setVorname(String vorname)
- {
- this.vorname = vorname;
- }
-
- public String getNachname()
+ /**
+ * TODO Add constructor comment here
+ *
+ * @param organisation
+ */
+ public Ansprechpartner(Organisation organisation)
{
- return this.nachname;
+ if (organisation == null)
+ {
+ throw new IllegalArgumentException(
+ "Ansprechpartner sollten nicht arbeitslos sein.");
+ }
+ this.organisation = organisation;
+ this.organisation.addAnsprechpartner(this);
}
- public void setNachname(String nachname)
+ /**
+ * Getter for property organisation.
+ *
+ * @return Returns the organisation.
+ */
+ public Organisation getOrganisation()
{
- this.nachname = nachname;
+ return organisation;
}
- public Ansprechpartner(Organisation organisation)
+ /**
+ * Setter for organisation.
+ *
+ * @param organisation
+ * The organisation to set.
+ */
+ public void setOrganisation(Organisation organisation)
{
if (organisation == null)
{
throw new IllegalArgumentException(
"Ansprechpartner sollten nicht arbeitslos sein.");
}
+ this.organisation.removeAnsprechpartner(this);
this.organisation = organisation;
this.organisation.addAnsprechpartner(this);
}
- public Organisation getOrganisation()
+ /**
+ * Getter for property nachname.
+ *
+ * @return Returns the nachname.
+ */
+ public final StringProperty nachnameProperty()
{
- return this.organisation;
+ return this.nachname;
}
+
+ /**
+ * Getter for nachname.
+ *
+ * @return Returns the nachname.
+ */
+ public String getNachname()
+ {
+ return this.nachname.get();
+ }
+
+ /**
+ * Setter for nachname.
+ *
+ * @param nachname
+ * The nachname to set.
+ */
+ public void setNachname(String nachname)
+ {
+ this.nachname.set(nachname);
+ }
+
+ /**
+ * Getter for property vorname.
+ *
+ * @return Returns the vorname.
+ */
+ public final StringProperty vornameProperty()
+ {
+ return this.vorname;
+ }
+
+ /**
+ * Getter for property vorname.
+ *
+ * @return Returns the vorname.
+ */
+ public String getVorname()
+ {
+ return vorname.get();
+ }
+
+ /**
+ * Setter for vorname.
+ *
+ * @param vorname
+ * The vorname to set.
+ */
+ public void setVorname(String vorname)
+ {
+ this.vorname.set(vorname);
+ }
+
} \ No newline at end of file
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java
index 723a48c..8f04979 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java
@@ -1,38 +1,110 @@
package de.fhswf.in.inf.se.projektthemenvergabe.model;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import javafx.beans.Observable;
+import javafx.beans.property.SimpleStringProperty;
+import javafx.beans.property.StringProperty;
+import javafx.util.Callback;
public class Organisation
{
- private String name;
+ private StringProperty name = new SimpleStringProperty();
- private ArrayList<Ansprechpartner> ansprechpartner = new ArrayList<Ansprechpartner>();
+ private List<Ansprechpartner> ansprechpartner = new ArrayList<>();
- public String getName()
+ /**
+ * Generates an extractor that fires when a property of a list value
+ * changes.
+ *
+ * @return The extractor.
+ */
+ public static Callback<Organisation, Observable[]> extractor()
+ {
+ return organisation -> new Observable[] { organisation.nameProperty() };
+ }
+
+ /**
+ * Getter for proerty name.
+ *
+ * @return Returns the name.
+ */
+ public final StringProperty nameProperty()
{
return this.name;
}
- public void setName(String name)
+ /**
+ * Getter for name.
+ *
+ * @return Returns the name.
+ */
+ public final String getName()
+ {
+ return this.nameProperty().get();
+ }
+
+ /**
+ * Setter for Name.
+ *
+ * @param name
+ * The name to set.
+ */
+ public final void setName(final String name)
+ {
+ this.nameProperty().set(name);
+ }
+
+ /**
+ * Getter for list of ansprechpartner.
+ *
+ * @return Returns the list of ansprechpartner.
+ */
+ public List<Ansprechpartner> getAnsprechpartner()
{
- this.name = name;
+ return Collections.unmodifiableList(ansprechpartner);
}
+ /**
+ * Füge einen Ansprechpartner hinzu.
+ *
+ * @param ansprechpartner
+ */
public void addAnsprechpartner(Ansprechpartner ansprechpartner)
{
+ if (ansprechpartner == null)
+ {
+ throw new IllegalArgumentException(
+ "Es muss ein Ansprechpartner zum Hinzufügen gegeben sein.");
+ }
this.ansprechpartner.add(ansprechpartner);
}
+ /**
+ * TODO Add method comment here
+ *
+ * @param ansprechpartner
+ */
public void removeAnsprechpartner(Ansprechpartner ansprechpartner)
{
+ if (ansprechpartner == null)
+ {
+ throw new IllegalArgumentException(
+ "Es muss ein Ansprechpartner zum Entfernen gegeben sein.");
+ }
this.ansprechpartner.remove(ansprechpartner);
}
- public Ansprechpartner[] toAnsprechpartnerArray()
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
{
- Ansprechpartner[] lAnsprechpartner_Temp = new Ansprechpartner[this.ansprechpartner
- .size()];
- this.ansprechpartner.toArray(lAnsprechpartner_Temp);
- return lAnsprechpartner_Temp;
+ return name.get();
}
} \ No newline at end of file