1 /**
2 * Logback: the reliable, generic, fast and flexible logging framework.
3 * Copyright (C) 1999-2015, QOS.ch. All rights reserved.
4 *
5 * This program and the accompanying materials are dual-licensed under
6 * either the terms of the Eclipse Public License v1.0 as published by
7 * the Eclipse Foundation
8 *
9 * or (per the licensee's choosing)
10 *
11 * under the terms of the GNU Lesser General Public License version 2.1
12 * as published by the Free Software Foundation.
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.SaxEventInterpretationContext;
20
21 public class TouchAction extends Action {
22
23 public static final String KEY = "touched";
24
25 /**
26 * Instantiates a layout of the given class and sets its name.
27 *
28 */
29 public void begin(SaxEventInterpretationContext ec, String name, Attributes attributes) {
30 Integer i = (Integer) ec.getContext().getObject(KEY);
31 if (i == null) {
32 ec.getContext().putObject(KEY, Integer.valueOf(1));
33 } else {
34 ec.getContext().putObject(KEY, Integer.valueOf(i.intValue() + 1));
35 }
36 }
37
38 /**
39 * Once the children elements are also parsed, now is the time to activate the
40 * appender options.
41 */
42 public void end(SaxEventInterpretationContext ec, String name) {
43 }
44 }