1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.springframework.extensions.webscripts.processor;
20
21 import org.springframework.context.ApplicationContext;
22 import org.springframework.context.ApplicationContextAware;
23 import org.springframework.context.ApplicationEvent;
24 import org.springframework.context.ApplicationListener;
25 import org.springframework.context.event.ContextRefreshedEvent;
26 import org.springframework.extensions.webscripts.TemplateProcessorRegistry;
27
28
29
30
31
32
33 public abstract class BaseRegisterableTemplateProcessor extends BaseProcessor implements ApplicationContextAware, ApplicationListener
34 {
35 private ApplicationContext applicationContext;
36
37 private TemplateProcessorRegistry templateProcessorRegistry;
38
39
40
41
42
43
44
45 public void setTemplateProcessorRegistry(TemplateProcessorRegistry templateProcessorRegistry)
46 {
47 this.templateProcessorRegistry = templateProcessorRegistry;
48 }
49
50
51
52
53
54
55 public TemplateProcessorRegistry getTemplateProcessorRegistry()
56 {
57 return this.templateProcessorRegistry;
58 }
59
60
61
62
63
64
65 public void setApplicationContext(ApplicationContext applicationContext)
66 {
67 this.applicationContext = applicationContext;
68 }
69
70
71
72
73 public void onApplicationEvent(ApplicationEvent event)
74 {
75 if (event instanceof ContextRefreshedEvent)
76 {
77 ContextRefreshedEvent refreshEvent = (ContextRefreshedEvent)event;
78 ApplicationContext refreshContext = refreshEvent.getApplicationContext();
79 if (refreshContext != null && refreshContext.equals(applicationContext))
80 {
81
82 init();
83
84
85 register();
86 }
87 }
88 }
89
90
91
92
93 public abstract void init();
94
95
96
97
98 public abstract void register();
99 }