1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.core.joran;
15
16 import java.util.HashMap;
17 import java.util.function.Supplier;
18
19 import ch.qos.logback.core.joran.action.Action;
20 import ch.qos.logback.core.joran.action.ImplicitModelAction;
21 import ch.qos.logback.core.joran.spi.ElementSelector;
22 import ch.qos.logback.core.joran.spi.RuleStore;
23 import ch.qos.logback.core.joran.spi.SaxEventInterpreter;
24
25 public class SimpleConfigurator extends GenericXMLConfigurator {
26
27 HashMap<ElementSelector, Supplier<Action>> rulesMap;
28
29 public SimpleConfigurator(HashMap<ElementSelector, Supplier<Action>> rules) {
30 this.rulesMap = rules;
31 }
32
33 @Override
34 protected void setImplicitRuleSupplier(SaxEventInterpreter interpreter) {
35 interpreter.setImplicitActionSupplier(() -> new ImplicitModelAction());
36 }
37
38 public SaxEventInterpreter getInterpreter() {
39 return saxEventInterpreter;
40 }
41
42 @Override
43 protected void addElementSelectorAndActionAssociations(RuleStore rs) {
44 for (ElementSelector elementSelector : rulesMap.keySet()) {
45 Supplier<Action> actionSupplier = rulesMap.get(elementSelector);
46 rs.addRule(elementSelector, actionSupplier);
47 }
48 }
49 }