Skip to content

Package: MitarbeiterFaehigkeitFuerMaschine

MitarbeiterFaehigkeitFuerMaschine

nameinstructionbranchcomplexitylinemethod
MitarbeiterFaehigkeitFuerMaschine(String, String, MaschinenTyp)
M: 0 C: 8
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
create(String, String, MaschinenTyp)
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%
equals(Object)
M: 0 C: 29
100%
M: 0 C: 8
100%
M: 0 C: 5
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
getMaschinenTyp()
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: 15
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package mensch.faehigkeit;
2:
3: import maschine.MaschinenTyp;
4:
5: import java.util.Objects;
6:
7: /**
8: * Ein Mitarbeiter benötigt bestimmte Fähigkeiten, um bestimmte Tätigkeiten an einer Maschine ausueben zu koennen.
9: */
10: public class MitarbeiterFaehigkeitFuerMaschine extends MitarbeiterFaehigkeit {
11:         
12:         private final MaschinenTyp maschinenTyp;
13:         
14:         /**
15:          * erstellt eine {@link MitarbeiterFaehigkeitFuerMaschine}. Dieser Konstruktor soll nur über den
16:          * {@linkplain MitarbeiterFaehigkeitenManager} aufgerufen werden.
17:          *
18:          * @param name
19:          * Name der Fähigkeit
20:          * @param beschreibung
21:          * Beschreibung der Fähigkeit
22:          * @param maschinentyp
23:          * {@linkplain MaschinenTyp}, zu welchem diese Fähigkeit befähigt
24:          */
25:         MitarbeiterFaehigkeitFuerMaschine(final String name, final String beschreibung, final MaschinenTyp maschinentyp) {
26:                 super(name, beschreibung);
27:                 this.maschinenTyp = maschinentyp;
28:         }
29:         
30:         /**
31:          * Erstellt eine {@linkplain MitarbeiterFaehigkeitFuerMaschine} über den Manager und stellt dabei die Eindeutigkeit
32:          * über den Namen sicher.
33:          *
34:          * @param name
35:          * der zu erstellenden MitarbeiterFaehigkeitFuerMaschine
36:          * @param beschreibung
37:          * der zu erstellenden MitarbeiterFaehigkeitFuerMaschine
38:          * @param maschinentyp
39:          * {@linkplain MaschinenTyp} für welchen diese Fähigkeit befähigen soll.
40:          * @return die zu erstellende Mitarbeiterfähigkeit.
41: */
42:         public static MitarbeiterFaehigkeitFuerMaschine create(final String name, final String beschreibung, final MaschinenTyp maschinentyp) {
43:                 return MitarbeiterFaehigkeitenManager.getInstance().createMitarbeiterFaehigkeitFuerMaschine(name, beschreibung, maschinentyp);
44:         }
45:         
46:         /**
47:          * @return maschinenTyp der MitarbeiterFaehigkeitFuerMaschine
48:          */
49:         public MaschinenTyp getMaschinenTyp() {
50:                 return this.maschinenTyp;
51:         }
52:
53: @Override
54: public boolean equals(final Object o) {
55:• if (this == o) {
56: return true;
57: }
58:• if (o == null || this.getClass() != o.getClass()) {
59: return false;
60: }
61:• if (!super.equals(o)) {
62: return false;
63: }
64: final MitarbeiterFaehigkeitFuerMaschine that = (MitarbeiterFaehigkeitFuerMaschine) o;
65: return Objects.equals(this.maschinenTyp, that.maschinenTyp);
66: }
67:
68: @Override
69: public int hashCode() {
70: return Objects.hash(super.hashCode(), this.maschinenTyp);
71: }
72:         
73:         
74: }