Skip to content

Package: VoraussichtlicheDokumentenklassenVariablenFactory

VoraussichtlicheDokumentenklassenVariablenFactory

nameinstructionbranchcomplexitylinemethod
static {...}
M: 0 C: 48
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 10
100%
M: 0 C: 1
100%
verarbeite(String, String)
M: 6 C: 22
79%
M: 1 C: 3
75%
M: 1 C: 2
67%
M: 1 C: 5
83%
M: 0 C: 1
100%
verarbeite(Variable)
M: 0 C: 7
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package auftraege.factory;
2:
3: import auftraege.Variable;
4: import auftraege.auftragsBildungsParameter.abstraction.VoraussichtlicheDokumentenklassenVariable;
5: import auftraege.auftragsBildungsParameter.dokumentenKlassenVariablen.UnbekannteVariable;
6:
7: import java.util.HashMap;
8: import java.util.Map;
9:
10: /**
11: * Factory, welche aus {@link Variable}n {@link VoraussichtlicheDokumentenklassenVariable}n erstellen kann.
12: */
13: public enum VoraussichtlicheDokumentenklassenVariablenFactory {
14:         INSTANCE;
15:
16:         private static final Map<String, DirectVoraussichtlicheDokumentenklassenVariablenFactory> FACTORIES = new HashMap<>();
17:
18:         static {
19:                 VoraussichtlicheDokumentenklassenVariablenFactory.FACTORIES.put("Blattanzahlspanne", BlattanzahlSpanneFactory.INSTANCE);
20:                 VoraussichtlicheDokumentenklassenVariablenFactory.FACTORIES.put("Sendungsanzahlspanne", SendungsanzahlSpanneFactory.INSTANCE);
21:                 VoraussichtlicheDokumentenklassenVariablenFactory.FACTORIES.put("Datumsraum", SerienTerminFactory.INSTANCE);
22:                 VoraussichtlicheDokumentenklassenVariablenFactory.FACTORIES.put("Eingangszeitpunkt", SerienTerminFactory.INSTANCE);
23:                 VoraussichtlicheDokumentenklassenVariablenFactory.FACTORIES.put("Kommentar", KommentarFactory.INSTANCE);
24:                 VoraussichtlicheDokumentenklassenVariablenFactory.FACTORIES.put("Sendungsanzahl", SendungsAnzahlFactory.INSTANCE);
25:         }
26:
27:         /**
28:          * @param variable
29:          *                 übergebene {@link Variable}, welche zu einer {@link VoraussichtlicheDokumentenklassenVariable} verarbeitet werden soll.
30:          *
31:          * @return liefert eine {@link VoraussichtlicheDokumentenklassenVariable} auf basis der übergebenen {@link Variable}
32:          */
33:         public VoraussichtlicheDokumentenklassenVariable verarbeite(final Variable variable) {
34:                 return this.verarbeite(variable.getBezeichung(), variable.getWert());
35:         }
36:
37:         /**
38:          * @param bezeichnung
39:          *                 Bezeichnung, welche der voraussichtlichen Dokumentenklassenvariablenklasse entspricht.
40:          * @param wert
41:          *                 Wert, welcher in die DirectVoraussichtlicheDokumentenklassenVariablenFactory übergeben wird.
42:          *
43:          * @return liefert eine {@link VoraussichtlicheDokumentenklassenVariable} auf Basis der übergebenen Bezeichnung und des Wertes
44:          */
45:         public VoraussichtlicheDokumentenklassenVariable verarbeite(final String bezeichnung, final String wert) {
46:                 final DirectDokumentenklassenVariablenFactory dokumentenklassenVariablenFactory = DokumentenklassenVariablenFactory.FACTORIES.get(bezeichnung);
47:•                if (dokumentenklassenVariablenFactory != null) {
48:                         return dokumentenklassenVariablenFactory.parse(wert);
49:                 }
50:
51:•                if (FACTORIES.get(bezeichnung) == null) {
52:                         return new UnbekannteVariable(bezeichnung, wert);
53:                 }
54:                 return VoraussichtlicheDokumentenklassenVariablenFactory.FACTORIES.get(bezeichnung).parse(wert);
55:         }
56: }
57: