summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Organisation.java
blob: 8f0497919efda3724284bad31f98322f7b36e96a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
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 StringProperty name = new SimpleStringProperty();

   private List<Ansprechpartner> ansprechpartner = new ArrayList<>();

   /**
    * 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;
   }

   /**
    * 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()
   {
      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);
   }

   /*
    * (non-Javadoc)
    * 
    * @see java.lang.Object#toString()
    */
   @Override
   public String toString()
   {
      return name.get();
   }
}