blob: a2bd1621154a516fd5024d3909ff8028d8157763 (
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
|
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.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.util.Callback;
public class Projekt
{
private StringProperty projektthema = new SimpleStringProperty("");
private StringProperty skizze = new SimpleStringProperty("");
private StringProperty projektbeschreibung = new SimpleStringProperty("");
private StringProperty projekteinhalte = new SimpleStringProperty("");
private ArrayList<Student> student = new ArrayList<Student>();
private Ansprechpartner ansprechpartner;
private ObjectProperty<StatusTypes> status = new SimpleObjectProperty<>(
StatusTypes.IN_BEARBEITUNG);
private StringProperty dozentenkommentar = new SimpleStringProperty("");
/**
* Generates an extractor that fires when a property of a list value
* changes.
*
* @return The extractor.
*/
public static Callback<Projekt, Observable[]> extractor()
{
return projekt -> new Observable[] { projekt.statusProperty() };
}
public static enum StatusTypes {
IN_BEARBEITUNG("In Bearbeitung"), EINGEREICHT(
"Eingereicht"), IN_UEBERARBEITUNG("In Überarbeitung"), ANGENOMMEN(
"Angenommen"), ABGELEHNT("Abgelehnt");
private String text;
StatusTypes(String text)
{
this.text = text;
}
public String toString()
{
return text;
}
}
public Projekt(
Student student1, Student student2,
Student student3, Ansprechpartner ansprechpartner)
{
if (student1 == null && student2 == null && student3 == null)
{
throw new IllegalArgumentException(
"Zumindest ein Student sollte das Projekt bearbeiten.");
}
if (ansprechpartner == null)
{
throw new IllegalArgumentException(
"Das Projekt sollte irgendwo gemacht werden.");
}
if (student1 != null)
{
student.add(student1);
student1.setProjekt(this);
}
if (student2 != null)
{
student.add(student2);
student2.setProjekt(this);
}
if (student3 != null)
{
student.add(student3);
student3.setProjekt(this);
}
this.ansprechpartner = ansprechpartner;
this.ansprechpartner.addProjekt(this);
}
public final StringProperty projektthemaProperty()
{
return this.projektthema;
}
public final String getProjektthema()
{
return this.projektthemaProperty().get();
}
public final void setProjektthema(final String projektthema)
{
this.projektthemaProperty().set(projektthema);
}
public final StringProperty skizzeProperty()
{
return this.skizze;
}
public final String getSkizze()
{
return this.skizzeProperty().get();
}
public final void setSkizze(final String skizze)
{
this.skizzeProperty().set(skizze);
}
public final StringProperty projektbeschreibungProperty()
{
return this.projektbeschreibung;
}
public final String getProjektbeschreibung()
{
return this.projektbeschreibungProperty().get();
}
public final void setProjektbeschreibung(final String projektbeschreibung)
{
this.projektbeschreibungProperty().set(projektbeschreibung);
}
public final StringProperty projekteinhalteProperty()
{
return this.projekteinhalte;
}
public final String getProjekteinhalte()
{
return this.projekteinhalteProperty().get();
}
public final void setProjekteinhalte(final String projekteinhalte)
{
this.projekteinhalteProperty().set(projekteinhalte);
}
public List<Student> getStudents()
{
return Collections.unmodifiableList(student);
}
public Ansprechpartner getAnsprechpartner()
{
return this.ansprechpartner;
}
public final ObjectProperty<StatusTypes> statusProperty()
{
return this.status;
}
public final StatusTypes getStatus()
{
return this.statusProperty().get();
}
public final void setStatus(final StatusTypes status)
{
this.statusProperty().set(status);
}
public final StringProperty dozentenkommentarProperty()
{
return this.dozentenkommentar;
}
public final String getDozentenkommentar()
{
return this.dozentenkommentarProperty().get();
}
public final void setDozentenkommentar(final String dozentenkommentar)
{
this.dozentenkommentarProperty().set(dozentenkommentar);
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString()
{
return projektthema.get();
}
}
|