Skip to content

Package: MaschinenFaehigkeit

MaschinenFaehigkeit

nameinstructionbranchcomplexitylinemethod
MaschinenFaehigkeit(String)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
compareTo(MaschinenFaehigkeit)
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: 23
100%
M: 0 C: 6
100%
M: 0 C: 4
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
getName()
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: 9
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package maschine.faehigkeit;
2:
3: import material.kuvert.KuvertFormat;
4: import util.Immutable;
5:
6: import java.util.Objects;
7:
8: /**
9: * Fähigkeit.
10: */
11: @Immutable
12: public abstract class MaschinenFaehigkeit implements Comparable<MaschinenFaehigkeit> {
13:
14:         @Override
15:         public int compareTo(final MaschinenFaehigkeit o) {
16:                 return Integer.compare(this.getOrderForSorting(), o.getOrderForSorting());
17:         }
18:
19:         private final String name;
20:
21:         /**
22:          * Erstellt eine neue Fähigkeit.
23:          *
24:          * @param name
25:          *                 der Fähigkeit.
26:          */
27:         public MaschinenFaehigkeit(final String name) {
28:                 this.name = name;
29:         }
30:
31:         /**
32:          * @return den Namen der Fähigkeit.
33:          */
34:         public String getName() {
35:                 return this.name;
36:         }
37:
38:         /**
39:          * Prüft, ob die Anforderung durch die {@link MaschinenFaehigkeit} erfüllt werden kann.
40:          *
41:          * @param anforderung
42:          *                 die geprüft werden soll.
43:          *
44:          * @return Wahrheitswert
45:          */
46:         public abstract boolean erfuellt(MaschinenFaehigkeit anforderung);
47:
48:         /**
49:          * Abstrakte Funktion. Prüft ob der DruckTyp durch die Fähigkeit erfüllt wird.
50:          *
51:          * @param drucktyp
52:          *                 der Drucktyp der erfüllt werden soll.
53:          *
54:          * @return true, wenn Drucktyp erfüllt wird, sonst false.
55:          */
56:         public abstract boolean erfuelltDruckTyp(DruckTyp drucktyp);
57:
58:         /**
59:          * Abstrakte Funktion die Prüft, ob der FarbDruckTyp durch die Fähigkeit erfüllt wird.
60:          *
61:          * @param farbdrucktyp
62:          *                 der FarbDruckTyp der erfüllt werden soll.
63:          *
64:          * @return true, wenn der FarbDruckTyp erfüllt wird, sonst false.
65:          */
66:         public abstract boolean erfuelltFarbDruckTyp(FarbDruckTyp farbdrucktyp);
67:
68:         /**
69:          * Abstrakte Funktion die Prüft, ob das Kuvertformat durch die Fähigkeit erfüllt wird.
70:          *
71:          * @param kuvertFormat
72:          *                 das Kuvertformat das erfüllt werden soll.
73:          *
74:          * @return true wenn er erfüllt wird, false sonst.
75:          */
76:         public abstract boolean erfuelltKuvertFormat(KuvertFormat kuvertFormat);
77:
78:         /**
79:          * Eine MaschinenFaehigkeit beinhaltet die Information, welche Arbeitsschritte mit einer Dokumentenklasse/ Produktionsauftrag getan werden müssen.
80: * Hierbei ist evtl. die Reihenfolge relevant -
81: * ein Produktionsauftrag sollte erst einer Maschine zum Drucken zugewiesen werden, bevor er Kuvertiert wird.
82:          *
83:          * @return int, welcher die Reihenfolge der potentiellen Abarbeitung dieser {@link MaschinenFaehigkeit} angibt. {@link Drucken} = 0; {@link Kuvertieren} = 1;
84:          */
85:         abstract int getOrderForSorting();
86:
87:         /**
88:          * @param visitor
89:          *                 FähigkeitenVisitor
90:          * @param <T>
91:          *                 Returntyp des Visitors.
92:          *
93:          * @return ein Element des im Visitor spezifizierten Typen.
94:          */
95:         public abstract <T> T accept(FaehigkeitVisitor<T> visitor);
96:
97: @Override
98: public boolean equals(final Object o) {
99:• if (this == o) {
100: return true;
101: }
102:• if (o == null || this.getClass() != o.getClass()) {
103: return false;
104: }
105: final MaschinenFaehigkeit that = (MaschinenFaehigkeit) o;
106: return Objects.equals(this.name, that.name);
107: }
108:
109: @Override
110: public int hashCode() {
111: return Objects.hash(this.name);
112: }
113: }