diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-12-08 21:42:05 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-12-08 21:42:05 +0100 |
| commit | 88abbc5d8b2e8b19eaeaf6c7d34953dddb449509 (patch) | |
| tree | 4ce4c4a3dd12d76bf1fdd57739b2c06a6f784096 /src/de/fhswf/in/inf/se/projektthemenvergabe | |
| parent | e101e47e41490baa4661613bde2294e6c87a5160 (diff) | |
| download | Projektthemenvergabe-88abbc5d8b2e8b19eaeaf6c7d34953dddb449509.tar.gz Projektthemenvergabe-88abbc5d8b2e8b19eaeaf6c7d34953dddb449509.zip | |
Add properties to the model
Diffstat (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe')
| -rw-r--r-- | src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java | 122 | ||||
| -rw-r--r-- | src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java | 92 |
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 |
