1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package ch.qos.logback.access.common.joran;
16
17 import ch.qos.logback.access.common.model.ConfigurationModel;
18 import ch.qos.logback.access.common.model.processor.ConfigurationModelHandler;
19 import ch.qos.logback.core.Context;
20 import ch.qos.logback.core.joran.ModelClassToModelHandlerLinkerBase;
21 import ch.qos.logback.core.model.AppenderModel;
22 import ch.qos.logback.core.model.AppenderRefModel;
23 import ch.qos.logback.core.model.processor.AppenderModelHandler;
24 import ch.qos.logback.core.model.processor.AppenderRefDependencyAnalyser;
25 import ch.qos.logback.core.model.processor.AppenderRefModelHandler;
26 import ch.qos.logback.core.model.processor.DefaultProcessor;
27 import ch.qos.logback.core.model.processor.RefContainerDependencyAnalyser;
28
29
30
31
32
33
34
35
36
37
38 public class ModelClassToModelHandlerLinker extends ModelClassToModelHandlerLinkerBase {
39
40 public ModelClassToModelHandlerLinker(Context context) {
41 super(context);
42 }
43
44 public void link(DefaultProcessor defaultProcessor) {
45 super.link(defaultProcessor);
46 defaultProcessor.addHandler(ConfigurationModel.class, ConfigurationModelHandler::makeInstance);
47 defaultProcessor.addHandler(AppenderModel.class, AppenderModelHandler::makeInstance);
48 defaultProcessor.addHandler(AppenderRefModel.class, AppenderRefModelHandler::makeInstance);
49
50 defaultProcessor.addAnalyser(AppenderModel.class,
51 () -> new RefContainerDependencyAnalyser(context, AppenderModel.class));
52 defaultProcessor.addAnalyser(AppenderRefModel.class, () -> new AppenderRefDependencyAnalyser(context));
53
54 sealModelFilters(defaultProcessor);
55 }
56 }