Skip to content

Method: parse(String)

1: package auftraege.factory;
2:
3: import auftraege.ServiceLevelAgreement;
4: import util.RegexConstants;
5:
6: import java.util.regex.Matcher;
7:
8: /**
9: * ist in der Lage ein {@link ServiceLevelAgreement} aus einem String zu erstellen.
10: */
11: public enum ServiceLevelAgreementFactory implements
12: DirectVoraussichtlicheDokumentenklassenVariablenFactory<ServiceLevelAgreement>,
13: DirectDokumentenklassenVariablenFactory<ServiceLevelAgreement> {
14:         INSTANCE;
15:
16:         @Override
17:         public ServiceLevelAgreement parse(final String wert) {
18:                 final Matcher matcher = RegexConstants.TAGE.matcher(wert);
19:•                if (matcher.matches()) {
20:                         final int anzahlTage = Integer.parseInt(matcher.group(1));
21:                         return ServiceLevelAgreement.create(anzahlTage);
22:                 }
23:                 throw new RuntimeException("der Wert " + wert + " kann nicht zu einem SLA geparsed werden");
24:         }
25: }