Skip to content

Package: MaschinenRollenbelegungServiceParameter

MaschinenRollenbelegungServiceParameter

nameinstructionbranchcomplexitylinemethod
MaschinenRollenbelegungServiceParameter(List, List, List, ZuordnungsParameter)
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%
MaschinenRollenbelegungServiceParameter(List, List, List, ZuordnungsParameter, LocalDateTime)
M: 0 C: 18
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 7
100%
M: 0 C: 1
100%
equals(Object)
M: 36 C: 56
61%
M: 20 C: 12
38%
M: 16 C: 1
6%
M: 16 C: 14
47%
M: 0 C: 1
100%
getMaschinenSortierungsarten()
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%
getMitarbeiterSortierungsarten()
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%
getProduktionsAuftragsSortierungsarten()
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%
getStartZeit()
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%
getZuordnungsParameter()
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: 71 C: 0
0%
M: 10 C: 0
0%
M: 6 C: 0
0%
M: 8 C: 0
0%
M: 1 C: 0
0%
toString()
M: 32 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 rollenbelegung.SortierParameter;
2:
3: import rollenbelegung.SortierParameter.MaschinenSortierParameter.MaschinenSortierParameter;
4: import rollenbelegung.SortierParameter.MitarbeiterSortierParameter.MitarbeiterSortierParameter;
5: import rollenbelegung.SortierParameter.ProduktionsAuftragsSortierParameter.ProduktionsAuftragSortierParameter;
6:
7: import java.time.LocalDateTime;
8: import java.util.List;
9:
10: /**
11: * Parameter, die dazu dienen bei der Maschinen-Rollenbelegung die eingehenden Listen von ProduktionsAufträgen, Maschinen und Mitarbeitern zu sortieren, um so bessere
12: * Belegungsergebnisse zu erhalten.
13: */
14: public class MaschinenRollenbelegungServiceParameter {
15:         
16:         // z.B. SLA, AnzahlBeilagenArten, AnzahlBlätter,...
17:         private final List<ProduktionsAuftragSortierParameter> produktionsAuftragsSortierungsarten;
18:         
19:         // z.B. SchwarzWeißDruckGeschwindigkeit, FarbdruckGeschwindigkeit, Kuvertiergeschwindigkeit, Anzahl
20:         // Beilagenfächer,...
21:         private final List<MaschinenSortierParameter> maschinenSortierungsarten;
22:         
23:         // z.B. Qualifikation, bisherige Auslastung für den Tag, etc.
24:         private final List<MitarbeiterSortierParameter> mitarbeiterSortierungsarten;
25:         
26:         private final LocalDateTime benutzerDefinierteStartZeit;
27:         
28:         private final ZuordnungsParameter zuordnungsParameter;
29:         
30:         /**
31:          * Erzeugt ein Objekt der Klasse MaschinenRollenbelegungServiceParameter mit den übergebenen Parametern.
32:          *
33:          * @param produktionsAuftragSortierParameter
34:          *                 Parameter zur Sortierung von ProduktionsAufträgen
35:          * @param maschinenSortierParameter
36:          *                 Parameter zur Sortierung von Maschinen
37:          * @param mitarbeiterSortierParameter
38:          *                 Parameter zur Sortierung von Mitarbeitern
39:          * @param zuordnungsParameter
40:          *                 Parameter zur Unterscheidung, wie Produktionsaufträge den Mitarbeitern und Maschinen zugeordnet werden soll.
41:          */
42:         public MaschinenRollenbelegungServiceParameter(
43:                         final List<ProduktionsAuftragSortierParameter> produktionsAuftragSortierParameter,
44:                         final List<MaschinenSortierParameter> maschinenSortierParameter,
45:                         final List<MitarbeiterSortierParameter> mitarbeiterSortierParameter,
46:                         final ZuordnungsParameter zuordnungsParameter) {
47:                 this(produktionsAuftragSortierParameter,
48:                                 maschinenSortierParameter,
49:                                 mitarbeiterSortierParameter,
50:                                 zuordnungsParameter,
51:                                 LocalDateTime.now());
52:         }
53:         
54:         /**
55:          * Erzeugt ein Objekt der Klasse MaschinenRollenbelegungServiceParameter mit den übergebenen Parametern.
56:          *
57:          * @param produktionsAuftragSortierParameter
58:          *                 Parameter zur Sortierung von ProduktionsAufträgen
59:          * @param maschinenSortierParameter
60:          *                 Parameter zur Sortierung von Maschinen
61:          * @param mitarbeiterSortierParameter
62:          *                 Parameter zur Sortierung von Mitarbeitern
63:          * @param zuordnungsParameter
64:          *                 Parameter zur Unterscheidung, wie Produktionsaufträge den Mitarbeitern und Maschinen zugeordnet werden soll.
65:          * @param benutzerDefinierteStartZeit
66:          *                 Zeitpunkt, zu welchem der Algorithmus laufen soll.
67:          */
68:         public MaschinenRollenbelegungServiceParameter(
69:                         final List<ProduktionsAuftragSortierParameter> produktionsAuftragSortierParameter,
70:                         final List<MaschinenSortierParameter> maschinenSortierParameter,
71:                         final List<MitarbeiterSortierParameter> mitarbeiterSortierParameter,
72:                         final ZuordnungsParameter zuordnungsParameter,
73:                         final LocalDateTime benutzerDefinierteStartZeit) {
74:                 this.produktionsAuftragsSortierungsarten = produktionsAuftragSortierParameter;
75:                 this.maschinenSortierungsarten = maschinenSortierParameter;
76:                 this.mitarbeiterSortierungsarten = mitarbeiterSortierParameter;
77:                 this.benutzerDefinierteStartZeit = benutzerDefinierteStartZeit;
78:                 this.zuordnungsParameter = zuordnungsParameter;
79:         }
80:         
81:         /**
82:          * @return Parameter zur Sortierung von ProduktionsAufträgen
83:          */
84:         public List<ProduktionsAuftragSortierParameter> getProduktionsAuftragsSortierungsarten() {
85:                 return this.produktionsAuftragsSortierungsarten;
86:         }
87:         
88:         /**
89:          * @return Parameter zur Sortierung von Maschinen
90:          */
91:         public List<MaschinenSortierParameter> getMaschinenSortierungsarten() {
92:                 return this.maschinenSortierungsarten;
93:         }
94:         
95:         /**
96:          * @return Parameter zur Sortierung von Mitarbeitern
97:          */
98:         public List<MitarbeiterSortierParameter> getMitarbeiterSortierungsarten() {
99:                 return this.mitarbeiterSortierungsarten;
100:         }
101:         
102:         /**
103:          * @return Parameter zur Unterscheidung, wie Produktionsaufträge den Mitarbeitern und Maschinen zugeordnet werden soll.
104:          */
105:         public ZuordnungsParameter getZuordnungsParameter() {
106:                 return this.zuordnungsParameter;
107:         }
108:         
109:         /**
110:          * @return Benutzerdefinierte Zeit, zu welcher der Algorithmus laufen soll. Gibt es keine benutzerdefinierte Zeit, wird ein {@link LocalDateTime#now()} geliefert.
111:          */
112:         public LocalDateTime getStartZeit() {
113:                 return this.benutzerDefinierteStartZeit;
114:         }
115:         
116:         @Override
117:         public int hashCode() {
118:                 final int prime = 31;
119:                 int result = 1;
120:•                result = prime * result + ((this.benutzerDefinierteStartZeit == null) ? 0 : this.benutzerDefinierteStartZeit.hashCode());
121:•                result = prime * result + ((this.maschinenSortierungsarten == null) ? 0 : this.maschinenSortierungsarten.hashCode());
122:•                result = prime * result + ((this.mitarbeiterSortierungsarten == null) ? 0 : this.mitarbeiterSortierungsarten.hashCode());
123:•                result = prime * result + ((this.produktionsAuftragsSortierungsarten == null) ? 0 : this.produktionsAuftragsSortierungsarten.hashCode());
124:•                result = prime * result + ((this.zuordnungsParameter == null) ? 0 : this.zuordnungsParameter.hashCode());
125:                 return result;
126:         }
127:         
128:         @Override
129:         public boolean equals(final Object obj) {
130:•                if (this == obj) {
131:                         return true;
132:                 }
133:•                if (obj == null) {
134:                         return false;
135:                 }
136:•                if (this.getClass() != obj.getClass()) {
137:                         return false;
138:                 }
139:                 final MaschinenRollenbelegungServiceParameter other = (MaschinenRollenbelegungServiceParameter) obj;
140:•                if (this.benutzerDefinierteStartZeit == null) {
141:•                        if (other.benutzerDefinierteStartZeit != null) {
142:                                 return false;
143:                         }
144:•                } else if (!this.benutzerDefinierteStartZeit.equals(other.benutzerDefinierteStartZeit)) {
145:                         return false;
146:                 }
147:•                if (this.maschinenSortierungsarten == null) {
148:•                        if (other.maschinenSortierungsarten != null) {
149:                                 return false;
150:                         }
151:•                } else if (!this.maschinenSortierungsarten.equals(other.maschinenSortierungsarten)) {
152:                         return false;
153:                 }
154:•                if (this.mitarbeiterSortierungsarten == null) {
155:•                        if (other.mitarbeiterSortierungsarten != null) {
156:                                 return false;
157:                         }
158:•                } else if (!this.mitarbeiterSortierungsarten.equals(other.mitarbeiterSortierungsarten)) {
159:                         return false;
160:                 }
161:•                if (this.produktionsAuftragsSortierungsarten == null) {
162:•                        if (other.produktionsAuftragsSortierungsarten != null) {
163:                                 return false;
164:                         }
165:•                } else if (!this.produktionsAuftragsSortierungsarten.equals(other.produktionsAuftragsSortierungsarten)) {
166:                         return false;
167:                 }
168:•                if (this.zuordnungsParameter != other.zuordnungsParameter) {
169:                         return false;
170:                 }
171:                 return true;
172:         }
173:         
174:
175:         @Override
176:         public String toString() {
177:                 return "MaschinenRollenbelegungServiceParameter [produktionsAuftragsSortierungsarten=" + this.produktionsAuftragsSortierungsarten
178:                                 + ", maschinenSortierungsarten=" + this.maschinenSortierungsarten + ", mitarbeiterSortierungsarten=" + this.mitarbeiterSortierungsarten
179:                                 + ", benutzerDefinierteStartZeit=" + this.benutzerDefinierteStartZeit + ", zuordnungsParameter=" + this.zuordnungsParameter + "]";
180:         }
181:         
182: }