Skip to content

Package: SchichtZeit

SchichtZeit

nameinstructionbranchcomplexitylinemethod
SchichtZeit(DayOfWeek, UhrzeitZeitraum)
M: 0 C: 9
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
create(DayOfWeek, UhrzeitZeitraum)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getUhrzeitRaum()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getWochentag()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
toString()
M: 17 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%

Coverage

1: package planung;
2:
3: import zeit.eintraege.UhrzeitZeitraum;
4:
5: import java.time.DayOfWeek;
6:
7: /**
8: * Eine Schichtzeit umfasst einen Wochentag und einen Zeitraum.
9: * <p>
10: * So kann beispielsweise <b>Montag von 06:00 Uhr bis 14:00 Uhr</b> eine Schichtzeit sein. Sie definiert auf diese Weise, zu welchen Zeiten im Betrieb Schichten
11: * vorliegen, nach welchen dann geplant werden kann.
12: * <p>
13: * Ein Beispiel für einen Schichtplan könnte folgendermaßen aussehen:
14: *
15: * <table>
16: * <tr>
17: * <td>Montag</td>
18: * <td>06:00 - 14:00</td>
19: * </tr>
20: * <tr>
21: * <td>Montag</td>
22: * <td>14:00 - 22:00</td>
23: * </tr>
24: * <tr>
25: * <td>Dienstag</td>
26: * <td>06:00 - 14:00</td>
27: * </tr>
28: * <tr>
29: * <td>Dienstag</td>
30: * <td>14:00 - 22:00</td>
31: * </tr>
32: * <tr>
33: * <td>Mittwoch</td>
34: * <td>06:00 - 14:00</td>
35: * </tr>
36: * <tr>
37: * <td>Mittwoch</td>
38: * <td>14:00 - 22:00</td>
39: * </tr>
40: * <tr>
41: * <td>Donnerstag</td>
42: * <td>06:00 - 14:00</td>
43: * </tr>
44: * <tr>
45: * <td>Donnerstag</td>
46: * <td>14:00 - 22:00</td>
47: * </tr>
48: * <tr>
49: * <td>Freitag</td>
50: * <td>06:00 - 14:00</td>
51: * </tr>
52: * <tr>
53: * <td>Freitag</td>
54: * <td>14:00 - 22:00</td>
55: * </tr>
56: * </table>
57: * Diese Tabelle entspräche einer {@link SchichtZeit} je Zeile und hätte somit 10 Schichtzeiten.
58: */
59: public final class SchichtZeit {
60:         private final DayOfWeek wochentag;
61:         private final UhrzeitZeitraum uhrzeitRaum;
62:
63:         private SchichtZeit(final DayOfWeek wochentag, final UhrzeitZeitraum uhrzeitRaum) {
64:                 this.wochentag = wochentag;
65:                 this.uhrzeitRaum = uhrzeitRaum;
66:         }
67:
68:         /**
69:          * @param wochentag
70:          *                 Wochentag, welcher die Schicht besitzt.
71:          * @param uhrzeitraum
72:          *                 Zeitraum in den die Schicht an jedem dieser Tage fällt.
73:          *
74:          * @return erstellt eine {@link SchichtZeit} basierend auf einem {@link DayOfWeek} und einem {@link UhrzeitZeitraum}
75:          * <p>
76:          * Beispielsweise <b>Montags von 06:00 bis 14:00 Uhr</b>
77:          */
78:         public static SchichtZeit create(final DayOfWeek wochentag, final UhrzeitZeitraum uhrzeitraum) {
79:                 return new SchichtZeit(wochentag, uhrzeitraum);
80:         }
81:
82:         /**
83:          * @return liefert einen Wochentag der Schicht zurück
84:          */
85:         public DayOfWeek getWochentag() {
86:                 return this.wochentag;
87:         }
88:
89:         /**
90:          * @return liefert den UhrzeitZeitraum der Schicht zurück
91:          */
92:         public UhrzeitZeitraum getUhrzeitRaum() {
93:                 return this.uhrzeitRaum;
94:         }
95:
96:         @Override
97:         public String toString() {
98:                 return "SchichtZeit{" + "wochentag=" + this.wochentag + ", uhrzeitRaum=" + this.uhrzeitRaum + '}';
99:         }
100: }