package com.crawler.factory; import com.crawler.strategy.*; import java.util.HashMap; import java.util.Map; public class StrategyFactory { private static final Map strategies = new HashMap<>(); static { strategies.put("blog", new BlogCrawlStrategy()); strategies.put("news", new NewsCrawlStrategy()); strategies.put("jsoup", new JsoupCrawlStrategy()); } public static CrawlStrategy getStrategy(String strategyName) { return strategies.getOrDefault(strategyName.toLowerCase(), new JsoupCrawlStrategy()); } public static boolean hasStrategy(String strategyName) { return strategies.containsKey(strategyName.toLowerCase()); } public static String[] getAvailableStrategies() { return strategies.keySet().toArray(new String[0]); } }