Skip to contentMethod: parse(String)
      1: package auftraege.factory;
2: 
3: import auftraege.auftragsBildungsParameter.KuvertFormate;
4: import util.Constants;
5: import util.exceptions.ExceptionConstants;
6: 
7: import java.util.Arrays;
8: import java.util.stream.Collectors;
9: 
10: /**
11:  * Ist in der Lage, {@link material.kuvert.KuvertFormat KuvertFormat} zu erstellen.
12:  */
13: public enum KuvertFormateFactory implements DirectProduktionsauftragsParameterFactory {
14:     INSTANCE;
15: 
16:     @Override
17:     public KuvertFormate parse(final String wert) {
18: 
19:•        if (wert.startsWith(Constants.AUSRUFEZEICHEN)) {
20:             return KuvertFormate.createMitVerbotenen(Arrays.stream(wert.split(Constants.KOMMA)).map(String::trim).map(s -> {
21:                 if (!s.startsWith(Constants.AUSRUFEZEICHEN)) {
22:                     throw new IllegalArgumentException(ExceptionConstants.WENN_EINER_MIT_AUSRUFEZEICHEN_STARTET_MUESSEN_DAS_AUCH_ALLE);
23:                 } else {
24:                     return s.substring(1);
25:                 }
26:             }).map(KuvertFormatFactory.INSTANCE::parse).collect(Collectors.toList()));
27:         } else {
28:             return KuvertFormate.createMitErlaubten(Arrays.stream(wert.split(Constants.KOMMA)).map(String::trim).map(s -> {
29:                 if (s.startsWith(Constants.AUSRUFEZEICHEN)) {
30:                     throw new IllegalArgumentException(ExceptionConstants.WENN_EINER_MIT_AUSRUFEZEICHEN_STARTET_MUESSEN_DAS_AUCH_ALLE);
31:                 } else {
32:                     return s;
33:                 }
34:             }).map(KuvertFormatFactory.INSTANCE::parse).collect(Collectors.toList()));
35:         }
36:     }
37: }