View Javadoc
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.classic.joran.action;
15  
16  import org.xml.sax.Attributes;
17  
18  import ch.qos.logback.classic.model.ConfigurationModel;
19  import ch.qos.logback.core.joran.action.BaseModelAction;
20  import ch.qos.logback.core.joran.spi.SaxEventInterpretationContext;
21  import ch.qos.logback.core.model.Model;
22  
23  public class ConfigurationAction extends BaseModelAction {
24      static final String INTERNAL_DEBUG_ATTR = "debug";
25      static final String SCAN_ATTR = "scan";
26      static final String SCAN_PERIOD_ATTR = "scanPeriod";
27      static final String PACKAGING_DATA_ATTR = "packagingData";
28  
29      @Override
30      protected Model buildCurrentModel(SaxEventInterpretationContext interpretationContext, String name,
31              Attributes attributes) {
32          ConfigurationModel configurationModel = new ConfigurationModel();
33          configurationModel.setDebugStr(attributes.getValue(INTERNAL_DEBUG_ATTR));
34          configurationModel.setScanStr(attributes.getValue(SCAN_ATTR));
35          configurationModel.setScanPeriodStr(attributes.getValue(SCAN_PERIOD_ATTR));
36          configurationModel.setPackagingDataStr(attributes.getValue(PACKAGING_DATA_ATTR));
37          return configurationModel;
38      }
39  
40  }