diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2016-01-06 19:12:09 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2016-01-06 19:12:09 +0100 |
| commit | c2d643fe7e88efa19ddc87f19f38bb283051d415 (patch) | |
| tree | c873acb04a952b21a2ba3f7fd381ae0d6e209818 /src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java | |
| parent | 7ef00866826042ea41d137d29a2a40beb1338348 (diff) | |
| download | Projektthemenvergabe-c2d643fe7e88efa19ddc87f19f38bb283051d415.tar.gz Projektthemenvergabe-c2d643fe7e88efa19ddc87f19f38bb283051d415.zip | |
Readd vertical prototype specific things
This reverts commit 4aade633751694319a403a415134018a0b213b00.
Diffstat (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java')
| -rw-r--r-- | src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java | 76 |
1 files changed, 59 insertions, 17 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 10ab7b1..7b708f4 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Ansprechpartner.java @@ -5,6 +5,8 @@ import java.util.Collections; import java.util.List; import javafx.beans.Observable; +import javafx.beans.property.ObjectProperty; +import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; import javafx.util.Callback; @@ -17,7 +19,7 @@ public class Ansprechpartner private ArrayList<Projekt> projekt = new ArrayList<Projekt>(); - private Organisation organisation; + private ObjectProperty<Organisation> organisation = new SimpleObjectProperty<>(); /** * Generates an extractor that fires when a property of a list value @@ -27,10 +29,21 @@ public class Ansprechpartner */ public static Callback<Ansprechpartner, Observable[]> extractor() { - return ansprechpartner -> new Observable[] { - ansprechpartner.vornameProperty(), - ansprechpartner.nachnameProperty(), - ansprechpartner.getOrganisation().nameProperty() }; + return ansprechpartner -> { + List<Observable> extractorList = new ArrayList<>(); + + extractorList.add(ansprechpartner.vornameProperty()); + extractorList.add(ansprechpartner.nachnameProperty()); + extractorList.add(ansprechpartner.organisationProperty()); + + if (ansprechpartner.getOrganisation() != null) + { + extractorList + .add(ansprechpartner.getOrganisation().nameProperty()); + } + + return extractorList.toArray(new Observable[extractorList.size()]); + }; } /** @@ -40,13 +53,12 @@ public class Ansprechpartner */ public Ansprechpartner(Organisation organisation) { - if (organisation == null) + this.organisation.set(organisation); + + if (organisation != null) { - throw new IllegalArgumentException( - "Ansprechpartner sollten nicht arbeitslos sein."); + this.organisation.get().addAnsprechpartner(this); } - this.organisation = organisation; - this.organisation.addAnsprechpartner(this); } /** @@ -80,13 +92,23 @@ public class Ansprechpartner } /** + * Getter for property organisation. + * + * @return Returns the organisation. + */ + public ObjectProperty<Organisation> organisationProperty() + { + return organisation; + } + + /** * Getter for organisation. * * @return Returns the organisation. */ public Organisation getOrganisation() { - return organisation; + return organisation.get(); } /** @@ -97,14 +119,17 @@ public class Ansprechpartner */ public void setOrganisation(Organisation organisation) { - if (organisation == null) + if (this.organisation.get() != null) + { + this.organisation.get().removeAnsprechpartner(this); + } + + this.organisation.set(organisation); + + if (organisation != null) { - throw new IllegalArgumentException( - "Ansprechpartner sollten nicht arbeitslos sein."); + organisation.addAnsprechpartner(this); } - this.organisation.removeAnsprechpartner(this); - this.organisation = organisation; - this.organisation.addAnsprechpartner(this); } /** @@ -172,6 +197,23 @@ public class Ansprechpartner /* * (non-Javadoc) * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) + { + if (!(obj instanceof Ansprechpartner)) + { + return false; + } + + return ((Ansprechpartner) obj).vorname.get().equals(vorname.get()) + && ((Ansprechpartner) obj).nachname.get().equals(nachname.get()); + } + + /* + * (non-Javadoc) + * * @see java.lang.Object#toString() */ @Override |
