Skip to content

Package: ProduktionsauftragsParameterFactory

ProduktionsauftragsParameterFactory

nameinstructionbranchcomplexitylinemethod
getInstance()
M: 0 C: 9
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
parse(String, String)
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%
static {...}
M: 0 C: 65
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 14
100%
M: 0 C: 1
100%

Coverage

1: package auftraege.factory;
2:
3:
4: import auftraege.auftragsBildungsParameter.abstraction.ProduktionsauftragsParameter;
5:
6: import java.util.HashMap;
7: import java.util.Map;
8: import java.util.Objects;
9:
10: /**
11: * Beinhaltet Instanzen die {@link ProduktionsauftragsParameter} sind.
12: */
13: public final class ProduktionsauftragsParameterFactory {
14:
15:         private static ProduktionsauftragsParameterFactory instance;
16:
17:         private ProduktionsauftragsParameterFactory() {
18:
19:         }
20:
21:         /**
22:          * Ermittelt die Instanz.
23:          *
24:          * @return erstellt eine neue Instanz, falls diese noch nicht vorhanden ist.
25:          */
26:         public static ProduktionsauftragsParameterFactory getInstance() {
27:•                if (Objects.isNull(ProduktionsauftragsParameterFactory.instance)) {
28:                         ProduktionsauftragsParameterFactory.instance = new ProduktionsauftragsParameterFactory();
29:                 }
30:                 return ProduktionsauftragsParameterFactory.instance;
31:         }
32:
33:         private static final Map<String, DirectProduktionsauftragsParameterFactory> FACTORIES = new HashMap<>();
34:
35:         static {
36:                 ProduktionsauftragsParameterFactory.FACTORIES.put("Blattanzahlspanne", BlattanzahlSpanneFactory.INSTANCE);
37:                 ProduktionsauftragsParameterFactory.FACTORIES.put("Blattanzahl", BlattanzahlSpanneFactory.INSTANCE);
38:                 ProduktionsauftragsParameterFactory.FACTORIES.put("Drucktyp", DruckTypFactory.INSTANCE);
39:                 ProduktionsauftragsParameterFactory.FACTORIES.put("KuvertFormat", KuvertFormateFactory.INSTANCE);
40:                 ProduktionsauftragsParameterFactory.FACTORIES.put("Rollenkapazität", RollenKapazitaetFactory.INSTANCE);
41:                 ProduktionsauftragsParameterFactory.FACTORIES.put("FarbDruckTyp", FarbDruckTypFactory.INSTANCE);
42:                 ProduktionsauftragsParameterFactory.FACTORIES.put("Papierformat", PapierFormateFactory.INSTANCE);
43:                 ProduktionsauftragsParameterFactory.FACTORIES.put("SLA", ZeitraumFactory.INSTANCE);
44:                 ProduktionsauftragsParameterFactory.FACTORIES.put("MaxBeilagenarten", MaxBeilagenartenFactory.INSTANCE);
45:                 ProduktionsauftragsParameterFactory.FACTORIES.put("Kunde", KundenFactory.INSTANCE);
46:                 ProduktionsauftragsParameterFactory.FACTORIES.put("Beilagenart", BeilagenartFactory.INSTANCE);
47:                 ProduktionsauftragsParameterFactory.FACTORIES.put("MaxKundenaufträge", MaxKundenauftraegeFactory.INSTANCE);
48:         }
49:
50:         /**
51:          * erstellt aus dem übergebenen Parameter und dem Wert einen {@link ProduktionsauftragsParameter}.
52:          *
53:          * @param parameter Parameter, welcher der {@link ProduktionsauftragsParameter}-Klasse entspricht. Dieser muss als Key in der Map <i>FACTORIES</i> vorhanden sein und
54:          * verwendet dann die {@link DirectProduktionsauftragsParameterFactory}, welche der dazugehörige Value in der Map ist.
55:          * @param wert Wert des konkreten {@link ProduktionsauftragsParameter}s
56:          * @return einen Produktionsauftragsparameter.
57:          */
58:         public ProduktionsauftragsParameter parse(final String parameter, final String wert) {
59:                 return ProduktionsauftragsParameterFactory.FACTORIES.get(parameter).parse(wert);
60:         }
61:
62: }