01: package org.osbl.demo.urlaub.model;
02:
03: import org.conform.format.AbstractFormat;
04: import org.conform.format.FormatFactory;
05:
06: import java.util.Locale;
07: import java.text.DateFormat;
08:
09: public class UrlaubsAntragFormat extends AbstractFormat {
10: public String format(Object value) {
11: UrlaubsAntrag urlaubsAntrag = (UrlaubsAntrag) value;
12: StringBuilder buffer = new StringBuilder();
13:
14: Locale locale = FormatFactory.getInstance().getLocale();
15: DateFormat dateFormat = DateFormat.getDateInstance(
16: DateFormat.SHORT, locale);
17: DateFormat timeFormat = DateFormat.getTimeInstance(
18: DateFormat.SHORT, locale);
19:
20: if ("de".equals(locale.getLanguage())) {
21: switch (urlaubsAntrag.getTyp()) {
22: case ABWESENHEIT:
23: buffer.append("Abwesenheit ");
24: buffer.append(format(dateFormat, urlaubsAntrag
25: .getVonDatum()));
26: buffer.append(" - ");
27: buffer.append(format(timeFormat, urlaubsAntrag
28: .getVonZeit()));
29: buffer.append(" - ");
30: buffer.append(format(timeFormat, urlaubsAntrag
31: .getBisZeit()));
32: break;
33: case SONDERURLAUB:
34: buffer.append("Sonderurlaub ");
35: buffer.append(format(dateFormat, urlaubsAntrag
36: .getVonDatum()));
37: if (urlaubsAntrag.getBisDatum() != null) {
38: buffer.append(" - ");
39: buffer.append(format(dateFormat, urlaubsAntrag
40: .getBisDatum()));
41: }
42: break;
43: case JAHRESURLAUB:
44: buffer.append("Jahresurlaub ");
45: buffer.append(format(dateFormat, urlaubsAntrag
46: .getVonDatum()));
47: if (urlaubsAntrag.getBisDatum() != null) {
48: buffer.append(" - ");
49: buffer.append(format(dateFormat, urlaubsAntrag
50: .getBisDatum()));
51: }
52: break;
53: }
54: } else {
55: switch (urlaubsAntrag.getTyp()) {
56: case ABWESENHEIT:
57: buffer.append("Absence ");
58: buffer.append(format(dateFormat, urlaubsAntrag
59: .getVonDatum()));
60: buffer.append(" - ");
61: buffer.append(format(timeFormat, urlaubsAntrag
62: .getVonZeit()));
63: buffer.append(" - ");
64: buffer.append(format(timeFormat, urlaubsAntrag
65: .getBisZeit()));
66: break;
67: case SONDERURLAUB:
68: buffer.append("Special leave ");
69: buffer.append(format(dateFormat, urlaubsAntrag
70: .getVonDatum()));
71: if (urlaubsAntrag.getBisDatum() != null) {
72: buffer.append(" - ");
73: buffer.append(format(dateFormat, urlaubsAntrag
74: .getBisDatum()));
75: }
76: break;
77: case JAHRESURLAUB:
78: buffer.append("Annual leave ");
79: buffer.append(format(dateFormat, urlaubsAntrag
80: .getVonDatum()));
81: if (urlaubsAntrag.getBisDatum() != null) {
82: buffer.append(" - ");
83: buffer.append(format(dateFormat, urlaubsAntrag
84: .getBisDatum()));
85: }
86: break;
87: }
88: }
89: return buffer.toString();
90: }
91:
92: private String format(DateFormat dateFormat, java.util.Date date) {
93: return date != null ? dateFormat.format(date) : null;
94: }
95: }
|