Skip to content

Package: KalenderEintrag

KalenderEintrag

nameinstructionbranchcomplexitylinemethod
KalenderEintrag(LocalDateTime, ComparableQuantity, KalenderEintragTyp)
M: 0 C: 11
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
KalenderEintrag(LocalDateTime, LocalDateTime, KalenderEintragTyp)
M: 0 C: 11
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
contains(KalenderEintrag)
M: 0 C: 18
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
contains(LocalDateTime)
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
equals(Object)
M: 4 C: 24
86%
M: 3 C: 5
63%
M: 3 C: 2
40%
M: 2 C: 4
67%
M: 0 C: 1
100%
getBis()
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getDauer()
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getTyp()
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%
getVon()
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getZeitraum()
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%
hashCode()
M: 0 C: 14
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
isNichtVerfuegbar()
M: 0 C: 7
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
isVerfuegbar()
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
toString()
M: 0 C: 17
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package zeit.eintraege;
2:
3: import com.google.common.base.Objects;
4: import tec.uom.se.ComparableQuantity;
5:
6: import javax.measure.quantity.Time;
7: import java.time.LocalDateTime;
8:
9: /**
10: * Diese Klasse repräsentiert einen Eintrag in einem Kalender.
11: */
12: public abstract class KalenderEintrag {
13:         
14:         private final Zeitraum zeitraum;
15:         private final KalenderEintragTyp typ;
16:         
17:         /**
18:          *
19:          * @param von Startzeitpunkt des Kalendereintrags
20:          * @param dauer Dauer des Kalendereintrags
21:          * @param typ {@link KalenderEintragTyp Typ} des Kalendereintrags
22:          */
23:         protected KalenderEintrag(final LocalDateTime von, final ComparableQuantity<Time> dauer, final KalenderEintragTyp typ) {
24:                 this.zeitraum = Zeitraum.create(von, dauer);
25:                 this.typ = typ;
26:         }
27:         
28:         /**
29:          *
30:          * @param von Startzeitpunkt des Kalendereintrags
31:          * @param bis Endezeitpunkt des Kalendereintrags
32:          * @param typ {@link KalenderEintragTyp Typ} des Kalendereintrags
33:          */
34:         protected KalenderEintrag(final LocalDateTime von, final LocalDateTime bis, final KalenderEintragTyp typ) {
35:                 this.zeitraum = Zeitraum.create(von, bis);
36:                 this.typ = typ;
37:         }
38:         
39:         /**
40:          *
41:          * @param eintrag für welchen überprüft werden soll, ob er enthalten ist
42:          * @return true wenn dieser Eintrag den anderen Eintrag zeitlich umfasst.
43:          */
44:         public boolean contains(final KalenderEintrag eintrag) {
45:•                return this.zeitraum.contains(eintrag.zeitraum.getVon()) && this.zeitraum.contains(eintrag.zeitraum.getBis());
46:         }
47:         
48:         /**
49:          *
50:          * @return ob der Kalendereintrag eine Anwesenheit signalisiert.
51:          */
52:         public boolean isVerfuegbar() {
53:                 return this.typ.isVerfuegbar();
54:         }
55:         
56:         /**
57:          *
58:          * @return ob der Kalendereintrag eine Abwesenheit signalisiert.
59:          */
60:         public boolean isNichtVerfuegbar() {
61:•                return !this.isVerfuegbar();
62:         }
63:         
64:         /**
65:          *
66:          * @return den Typ des Kalendereintrags
67:          */
68:         public KalenderEintragTyp getTyp() {
69:                 return this.typ;
70:         }
71:         
72:         /**
73:          * @return den Zeitraum des Kalendereintrags.
74:          */
75:         public Zeitraum getZeitraum() {
76:                 return this.zeitraum;
77:         }
78:         
79:         /**
80:          * @return den Startzeitpunkt des Kalendereintrags, welcher sich vom Zeitraum des Kalendereintrags ableitet.
81:          */
82:         public LocalDateTime getVon() {
83:                 return this.zeitraum.getVon();
84:         }
85:         
86:         /**
87:          * @return den Endezeitpunkt des Kalendereintrags, welcher sich vom Zeitraum des Kalendereintrags ableitet.
88:          */
89:         public LocalDateTime getBis() {
90:                 return this.getZeitraum().getBis();
91:         }
92:         
93:         /**
94:          * @return die Dauer des Kalendereintrags, welcher sich vom Zeitraum des Kalendereintrags ableitet.
95:          */
96:         public ComparableQuantity<Time> getDauer() {
97:                 return this.getZeitraum().getDauer();
98:         }
99:         
100:         /**
101:          * @param zeitpunkt ein Zeitpunkt
102:          * @return true, wenn der Kalendereintrag diesen Zeitpunkt umfasst. Dies leitet sich vom Zeitraum des Kalendereintrags ab.
103:          */
104:         public boolean contains(final LocalDateTime zeitpunkt) {
105:                 return this.getZeitraum().contains(zeitpunkt);
106:         }
107:         
108:         /**
109:          * Accept-Operation des Visitor Entwurfsmuster.
110:          * @param visitor Visitor für das Visitor Entwurfsmuster.
111:          * @param <T> gewünschter Returntyp des Visitors.
112:          * @return ein Objekt vom spezifizierten Returntyp.
113:          */
114:         public abstract <T> T accept(KalenderEintragVisitor<T> visitor);
115:         
116:         @Override
117:         public String toString() {
118:                 return "KalenderEintrag{"
119:                                 + "zeitraum=" + this.zeitraum
120:                                 + ", typ="
121:                                 + this.typ
122:                                 + '}';
123:         }
124:         
125:         @Override
126:         public boolean equals(final Object o) {
127:•                if (this == o) {
128:                         return true;
129:                 }
130:•                if (!(o instanceof KalenderEintrag)) {
131:                         return false;
132:                 }
133:                 final KalenderEintrag that = (KalenderEintrag) o;
134:•                return Objects.equal(this.zeitraum, that.zeitraum)
135:                                 && this.typ == that.typ;
136:         }
137:         
138:         @Override
139:         public int hashCode() {
140:                 return Objects.hashCode(this.zeitraum, this.typ);
141:         }
142: }