1 package generated.model.de.fhdw.partner.service;
2
3 import generated.model.de.fhdw.partner.Account;
4 import generated.model.de.fhdw.partner.AccountNumber;
5 import generated.model.de.fhdw.partner.Bankidentifier;
6 import generated.model.de.fhdw.partner.City;
7 import generated.model.de.fhdw.partner.Country;
8 import generated.model.de.fhdw.partner.GlobalTelefonbuch;
9 import generated.model.de.fhdw.partner.IBAN_Finder;
10 import generated.model.de.fhdw.partner.Kommunikationskanal;
11 import generated.model.de.fhdw.partner.NatuerlichePerson;
12 import generated.model.de.fhdw.partner.PersonGroups;
13 import generated.model.de.fhdw.partner.Postfach;
14 import generated.model.de.fhdw.partner.Telefon;
15 import generated.model.de.fhdw.partner.Telefonbuch;
16 import generated.model.de.fhdw.partner.TelefonbuchMitPersonAlsKey;
17 import generated.model.de.fhdw.partner.Telefonbuecher;
18 import de.fhdw.wtf.context.model.Int;
19 import de.fhdw.wtf.context.model.Service;
20 import de.fhdw.wtf.context.model.Str;
21 import de.fhdw.wtf.context.model.collections.ImmutableCollection;
22 import de.fhdw.wtf.context.model.collections.MutableMap;
23 import de.fhdw.wtf.context.model.collections.MutableList;
24
25 public class PersonService extends Service {
26
27
28
29 public ImmutableCollection<NatuerlichePerson> findePersonen(final Str nachname) {
30 return NatuerlichePerson.findByName(new Str("%").concat(nachname));
31 }
32
33
34
35 public NatuerlichePerson createPerson(final Str name) {
36 final NatuerlichePerson person = new NatuerlichePerson(name);
37 return person;
38 }
39
40 public Telefon createTelefon(final Int nr) {
41 return new Telefon(nr);
42 }
43
44 public Postfach createPostfach(final Str stadt, final Int nr) {
45 return new Postfach(stadt, nr);
46 }
47
48 public Telefonbuch createTelefonbuch() {
49 return new Telefonbuch();
50 }
51
52 public Account createAccount() {
53 return new Account();
54 }
55
56 public AccountNumber createAccountNumber(final Int number) {
57 return new AccountNumber(number);
58 }
59
60 public Bankidentifier createBankidentifier(final Int number) {
61 return new Bankidentifier(number);
62 }
63
64 public City createCity(final Str name) {
65 return new City(name);
66 }
67
68 public Country createCountry(final Str name) {
69 return new Country(name);
70 }
71
72 public GlobalTelefonbuch createGlobalTelefonbuch() {
73 return new GlobalTelefonbuch();
74 }
75
76 public IBAN_Finder createIban_Finder() {
77 return new IBAN_Finder();
78 }
79
80 public PersonGroups createPersonGroups() {
81 return new PersonGroups();
82 }
83
84 public Telefonbuecher createTelefonbuecher() {
85 return new Telefonbuecher();
86 }
87
88 public TelefonbuchMitPersonAlsKey createTelefonbuchMitPersonAlsKey() {
89 return new TelefonbuchMitPersonAlsKey();
90 }
91
92
93
94 public void addKommunikationskanal(final Kommunikationskanal kanal, final NatuerlichePerson zuPerson) {
95 zuPerson.getKanal().insert(kanal);
96 }
97
98 public void addTelefonbuchEintrag(final Telefonbuch zuTelefonbuch,
99 final Telefon telefon,
100 final NatuerlichePerson gehoert) {
101 zuTelefonbuch.getEintraege().put(telefon, gehoert);
102 }
103
104 public void addTelefonnummernZuPerson(final TelefonbuchMitPersonAlsKey telefonbuch,
105 final NatuerlichePerson person,
106 final MutableList<Telefon> nummern) {
107 final MutableMap<NatuerlichePerson, MutableList<Telefon>> eintraege = telefonbuch.getEintraege();
108 eintraege.put(person, nummern);
109 telefonbuch.setEintraege(eintraege);
110 }
111
112 public NatuerlichePerson findeInhaberEinesTelefons(final Telefonbuch telefonbuch, final Telefon telefon) {
113 return telefonbuch.getEintraege().get(telefon);
114 }
115
116 public NatuerlichePerson entferneInhaberEinesTelefons(final Telefonbuch telefonbuch, final Telefon telefon) {
117 return telefonbuch.getEintraege().remove(telefon);
118 }
119
120 public Account findAccount(final IBAN_Finder finder,
121 final Country country,
122 final Bankidentifier blz,
123 final AccountNumber number) {
124 return finder.findAccount(country, blz, number);
125 }
126
127 public void addAccount(final IBAN_Finder zuFinder,
128 final Country country,
129 final Bankidentifier blz,
130 final AccountNumber number,
131 final Account account) {
132 zuFinder.addAccount(country, blz, number, account);
133 }
134
135 public void addPersonGroup(final PersonGroups zuGroups, final MutableList<NatuerlichePerson> group) {
136 zuGroups.addPersonGroup(group);
137 }
138
139 public void addTelefonbuchToCity(final GlobalTelefonbuch zuGlobalTelefonbuch,
140 final City city,
141 final Telefonbuch telefonbuch) {
142 zuGlobalTelefonbuch.addTelefonbuchToCity(city, telefonbuch);
143 }
144 }