001package org.hl7.fhir.validation.testexecutor;
002
003import static org.hl7.fhir.validation.testexecutor.TestModules.JUNIT5_MODULE_NAMES;
004
005import java.util.Arrays;
006import java.util.regex.Pattern;
007import java.util.regex.PatternSyntaxException;
008
009public class TestExecutorParams {
010  private static final String MODULE_DELIMITER = ",";
011  public static boolean isValidModuleParam(String param) {
012      if (param == null) {
013        return true;
014      }
015      final String[] modules = param.split(MODULE_DELIMITER);
016      for (String module : modules) {
017        if (Arrays.stream(JUNIT5_MODULE_NAMES).noneMatch(i -> i.equals(module))) {
018          return false;
019        }
020      }
021      return true;
022    }
023
024    public static String[] parseModuleParam(String param) {
025      if (param == null) {
026        return null;
027      } else {
028        return param.split(MODULE_DELIMITER);
029      }
030    }
031
032    public static boolean isValidClassnameFilterParam(String param) {
033      try {
034        Pattern.compile(param);
035       return true;
036      } catch (PatternSyntaxException e) {
037       return false;
038      }
039    }
040}