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.*;
24
25
26
27
28
29
30
31
32
33
34 public class ModelClassToModelHandlerLinker extends ModelClassToModelHandlerLinkerBase {
35
36 public ModelClassToModelHandlerLinker(Context context) {
37 super(context);
38 }
39
40 public void link(DefaultProcessor defaultProcessor) {
41 super.link(defaultProcessor);
42 defaultProcessor.addHandler(ConfigurationModel.class, ConfigurationModelHandler::makeInstance);
43 defaultProcessor.addHandler(AppenderModel.class, AppenderModelHandler::makeInstance);
44 defaultProcessor.addHandler(AppenderRefModel.class, AppenderRefModelHandler::makeInstance);
45
46 defaultProcessor.addAnalyser(ConfigurationModel.class, () -> new AppenderRefDependencyAnalyser(context));
47
48 defaultProcessor.addAnalyser(AppenderModel.class, () -> new FileCollisionAnalyser(context));
49 defaultProcessor.addAnalyser(AppenderModel.class, () -> new AppenderDeclarationAnalyser(context));
50
51 sealModelFilters(defaultProcessor);
52 }
53 }