1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.core.model.processor;
15
16 import ch.qos.logback.core.Context;
17 import ch.qos.logback.core.model.AppenderRefModel;
18 import ch.qos.logback.core.model.Model;
19
20 public class AppenderRefDependencyAnalyser extends ModelHandlerBase {
21
22 public AppenderRefDependencyAnalyser(Context context) {
23 super(context);
24 }
25
26 @Override
27 protected Class<AppenderRefModel> getSupportedModelClass() {
28 return AppenderRefModel.class;
29 }
30
31 @Override
32 public void handle(ModelInterpretationContext mic, Model model) throws ModelHandlerException {
33
34 AppenderRefModel appenderRefModel = (AppenderRefModel) model;
35
36 String ref = mic.subst(appenderRefModel.getRef());
37
38
39 if (mic.isModelStackEmpty()) {
40
41 DependencyDefinition dd = new DependencyDefinition(appenderRefModel, ref);
42 mic.addDependencyDefinition(dd);
43 } else {
44 Model parentModel = mic.peekModel();
45 DependencyDefinition dd = new DependencyDefinition(parentModel, ref);
46 mic.addDependencyDefinition(dd);
47 }
48 }
49
50 }