Skip to content

Package: Kuvertieren

Kuvertieren

nameinstructionbranchcomplexitylinemethod
Kuvertieren(String, EnumSet, EnumSet)
M: 0 C: 13
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
Kuvertieren(String, EnumSet, EnumSet, int)
M: 0 C: 13
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
accept(FaehigkeitVisitor)
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%
equals(Object)
M: 0 C: 32
100%
M: 0 C: 10
100%
M: 0 C: 6
100%
M: 0 C: 7
100%
M: 0 C: 1
100%
erfuellt(MaschinenFaehigkeit)
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%
erfuelltKuvertFormat(KuvertFormat)
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%
getAnzahlMoeglicherBeilagen()
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: 32
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
supports(KuvertFormat)
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%
supports(PapierQuelle)
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%
toString()
M: 0 C: 2
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 maschine.papierart.PapierQuelle;
4: import material.kuvert.KuvertFormat;
5: import util.Immutable;
6:
7: import java.util.EnumSet;
8:
9: /**
10: * {@link MaschinenFaehigkeit}, eine einfache Kuvertierung durchzuführen.
11: */
12: @Immutable
13: public final class Kuvertieren extends SimplesKuvertieren {
14:
15:         private final EnumSet<PapierQuelle> unterstuetzePapierQuellen;
16:         private final EnumSet<KuvertFormat> unterstuetzePapierFormate;
17:
18:
19:         private final int anzahlMoeglicherBeilagen;
20:
21:         /**
22:          * @param name
23:          *                 Name
24:          * @param quelle
25:          *                 Qeulle
26:          * @param kuvertFormat
27:          *                 Qormat
28:          */
29:         public Kuvertieren(final String name, final EnumSet<PapierQuelle> quelle, final EnumSet<KuvertFormat> kuvertFormat) {
30:                 super(name);
31:                 this.unterstuetzePapierQuellen = quelle;
32:                 this.unterstuetzePapierFormate = kuvertFormat;
33:                 this.anzahlMoeglicherBeilagen = 0;
34:         }
35:
36:         /**
37:          * @param name
38:          *                 Name
39:          * @param quelle
40:          *                 Qeulle
41:          * @param kuvertFormat
42:          *                 Qormat
43:          * @param anzahlMoeglicherBeilagen
44:          *                 gibt die Anzahl der möglichen Beilagen an, welche eine Kuvertiermaschine maximal haben kann.
45:          */
46:         public Kuvertieren(final String name, final EnumSet<PapierQuelle> quelle, final EnumSet<KuvertFormat> kuvertFormat, final int anzahlMoeglicherBeilagen) {
47:                 super(name);
48:                 this.unterstuetzePapierQuellen = quelle;
49:                 this.unterstuetzePapierFormate = kuvertFormat;
50:                 this.anzahlMoeglicherBeilagen = anzahlMoeglicherBeilagen;
51:         }
52:
53:         @Override
54:         public boolean erfuellt(final MaschinenFaehigkeit anforderung) {
55:                 return anforderung.accept(new FaehigkeitVisitor<Boolean>() {
56:
57:                         @Override
58:                         public Boolean handle(final Drucken drucken) {
59:                                 return false;
60:                         }
61:
62:                         @Override
63:                         public Boolean handle(final Kuvertieren kuvertieren) {
64:                                 return Kuvertieren.this.unterstuetzePapierQuellen.containsAll(kuvertieren.unterstuetzePapierQuellen)
65:                                                 && Kuvertieren.this.unterstuetzePapierFormate
66:                                                 .containsAll(kuvertieren.unterstuetzePapierFormate);
67:                         }
68:
69:                         @Override
70:                         public Boolean handle(final SimplesDrucken simplesDrucken) {
71:                                 return false;
72:                         }
73:
74:                         @Override
75:                         public Boolean handle(final SimplesKuvertieren simplesKuvertieren) {
76:                                 return true;
77:                         }
78:                 });
79:         }
80:
81:         /**
82:          * Liefert {@code true}, falls die {@link PapierQuelle} unterstützt wird.
83:          *
84:          * @param papierQuelle
85:          *                 PapierQuelle
86:          *
87:          * @return Wahrheitswert
88:          */
89:         public boolean supports(final PapierQuelle papierQuelle) {
90:                 return this.unterstuetzePapierQuellen.contains(papierQuelle);
91:         }
92:
93:         /**
94:          * Liefert {@code true}, falls die {@link PapierQuelle} unterstützt wird.
95:          *
96:          * @param kuvertFormat
97:          *                 Format
98:          *
99:          * @return Wahrheitswert
100:          */
101:         public boolean supports(final KuvertFormat kuvertFormat) {
102:                 return this.unterstuetzePapierFormate.contains(kuvertFormat);
103:         }
104:
105:         /**
106:          * @return liefert die Anzahl der möglichen Beilagenarten, welche ein Kuvertierer haben könnte.
107:          */
108:         public int getAnzahlMoeglicherBeilagen() {
109:                 return this.anzahlMoeglicherBeilagen;
110:         }
111:
112:         @Override
113:         public boolean erfuelltKuvertFormat(final KuvertFormat kuvertFormat) {
114:                 return this.unterstuetzePapierFormate.contains(kuvertFormat);
115:         }
116:
117:
118:         @Override
119:         public <T> T accept(final FaehigkeitVisitor<T> visitor) {
120:                 return visitor.handle(this);
121:         }
122:
123:         @Override
124:         public String toString() {
125:                 return "Kuvertieren";
126:         }
127:
128:         @Override
129:         public int hashCode() {
130:                 final int prime = 31;
131:                 int result = 1;
132:•                result = prime * result + ((this.unterstuetzePapierFormate == null) ? 0 : this.unterstuetzePapierFormate.hashCode());
133:•                result = prime * result + ((this.unterstuetzePapierQuellen == null) ? 0 : this.unterstuetzePapierQuellen.hashCode());
134:                 return result;
135:         }
136:
137:         @Override
138:         public boolean equals(final Object obj) {
139:•                if (obj instanceof SimplesKuvertieren && !(obj instanceof Kuvertieren)) {
140:                         return false;
141:                 }
142:
143:•                if (obj instanceof Kuvertieren) {
144:                         final Kuvertieren other = (Kuvertieren) obj;
145:•                        return this.unterstuetzePapierQuellen.equals(other.unterstuetzePapierQuellen)
146:•                                        && this.unterstuetzePapierFormate.equals(other.unterstuetzePapierFormate);
147:                 }
148:                 return false;
149:         }
150: }