1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.core.joran.action.ext;
15
16 import org.xml.sax.Attributes;
17
18 import ch.qos.logback.core.joran.action.Action;
19 import ch.qos.logback.core.joran.spi.ActionException;
20 import ch.qos.logback.core.joran.spi.SaxEventInterpretationContext;
21
22 public class BadBeginAction extends Action {
23
24 static String EXCEPTION_TYPE = "type";
25 static final int RUNTIME_EDXCEPTION = 0;
26 static final int ACTION_EXCEPTION = 1;
27
28 int type;
29
30 public void begin(SaxEventInterpretationContext ec, String name, Attributes attributes) throws ActionException {
31
32 String exType = attributes.getValue(EXCEPTION_TYPE);
33 type = RUNTIME_EDXCEPTION;
34 if ("ActionException".equals(exType)) {
35 type = ACTION_EXCEPTION;
36 }
37
38 switch (type) {
39 case ACTION_EXCEPTION:
40 throw new ActionException();
41 default:
42 throw new IllegalStateException("bad begin");
43 }
44
45 }
46
47 public void end(SaxEventInterpretationContext ec, String name) {
48 }
49 }