summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java
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 /src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java
parente101e47e41490baa4661613bde2294e6c87a5160 (diff)
downloadProjektthemenvergabe-88abbc5d8b2e8b19eaeaf6c7d34953dddb449509.tar.gz
Projektthemenvergabe-88abbc5d8b2e8b19eaeaf6c7d34953dddb449509.zip
Add properties to the model
Diffstat (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java')
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java92
1 files changed, 82 insertions, 10 deletions
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