1   package org.slf4j.migrator;
2   
3   import org.slf4j.migrator.line.EmptyRuleSet;
4   import org.slf4j.migrator.line.JCLRuleSet;
5   import org.slf4j.migrator.line.JULRuleSet;
6   import org.slf4j.migrator.line.Log4jRuleSet;
7   import org.slf4j.migrator.line.RuleSet;
8   
9   /**
10   * This class runs Pattern matching with java.util.regex using Patterns defined
11   * in concrete implementations
12   * 
13   * @author jean-noelcharpin
14   * 
15   */
16  public abstract class RuleSetFactory {
17  
18     /**
19     * Return matcher implementation depending on the conversion mode
20     * 
21     * @param conversionType
22     * @return AbstractMatcher implementation
23     */
24    public static RuleSet getMatcherImpl(int conversionType) {
25      switch (conversionType) {
26      case Constant.JCL_TO_SLF4J:
27        return new JCLRuleSet();
28      case Constant.LOG4J_TO_SLF4J:
29        return new Log4jRuleSet();
30      case Constant.JUL_TO_SLF4J:
31          return new JULRuleSet();
32      case Constant.NOP_TO_SLF4J:
33        return new EmptyRuleSet();
34      default:
35        return null;
36      }
37    }
38  }