1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package ch.qos.logback.core.joran.conditional;
16
17 import org.xml.sax.Attributes;
18
19 import ch.qos.logback.core.joran.action.BaseModelAction;
20 import ch.qos.logback.core.joran.action.PreconditionValidator;
21 import ch.qos.logback.core.joran.spi.SaxEventInterpretationContext;
22 import ch.qos.logback.core.model.conditional.IfModel;
23 import ch.qos.logback.core.model.Model;
24
25 public class IfAction extends BaseModelAction {
26
27 public static final String CONDITION_ATTRIBUTE = "condition";
28
29 @Override
30 protected boolean validPreconditions(SaxEventInterpretationContext interpcont, String name, Attributes attributes) {
31 PreconditionValidator pv = new PreconditionValidator(this, interpcont, name, attributes);
32 pv.validateGivenAttribute(CONDITION_ATTRIBUTE);
33 return pv.isValid();
34 }
35
36 @Override
37 protected Model buildCurrentModel(SaxEventInterpretationContext interpretationContext, String name,
38 Attributes attributes) {
39 IfModel ifModel = new IfModel();
40
41 String condition = attributes.getValue(CONDITION_ATTRIBUTE);
42 ifModel.setCondition(condition);
43
44 return ifModel;
45 }
46
47 }