From 88abbc5d8b2e8b19eaeaf6c7d34953dddb449509 Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Tue, 8 Dec 2015 21:42:05 +0100 Subject: Add properties to the model --- .../projektthemenvergabe/model/Organisation.java | 92 +++++++++++++++++++--- 1 file changed, 82 insertions(+), 10 deletions(-) (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java') 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 = new ArrayList(); + private List 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 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 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 -- cgit v1.2.3-70-g09d2