/** * This file is licensed under the University of Illinois/NCSA Open Source License. See LICENSE.TXT for details. */ package edu.illinois.keshmesh.detector.bugs; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * * @author Mohsen Vakilian * @author Stas Negara * */ public class BugPatterns { public final static BugPattern LCK01J = new LCK01JBugPattern(); public final static BugPattern LCK02J = new LCK02JBugPattern(); public final static BugPattern LCK03J = new LCK03JBugPattern(); public final static BugPattern LCK06J = new LCK06JBugPattern(); public final static BugPattern VNA00J = new VNA00JBugPattern(); private static Map<String, BugPattern> bugPatternsMap = new HashMap<String, BugPattern>(); public static void enableBugPatterns(BugPattern... bugPatterns) { for (BugPattern bugPattern : bugPatterns) { bugPatternsMap.put(bugPattern.getName(), bugPattern); } } public static void enableAllBugPatterns() { enableBugPatterns(LCK01J, LCK02J, LCK03J, LCK06J, VNA00J); } public static BugPattern getBugPatternByName(String name) { return bugPatternsMap.get(name); } public static Iterator<BugPattern> iterator() { return bugPatternsMap.values().iterator(); } }