package spec.concordion.command.run; import java.util.LinkedHashMap; import java.util.Map; import org.concordion.api.Resource; import org.concordion.api.Result; import org.concordion.api.Runner; import org.concordion.api.RunnerResult; public class ExampleRunner implements Runner { private static Map<String, String> mappings = new LinkedHashMap<String, String>(); public RunnerResult execute(Resource resource, String href) throws Exception { for (String regex : mappings.keySet()) { if (href.matches(regex)) { return new RunnerResult(Result.valueOf(mappings.get(regex))); } } throw new RuntimeException("No mapping found for '" + href + "'."); } public static void clear() { mappings.clear(); } public static void addMapping(String regex, String result) { mappings.put(regex, result); } }