1 package org.apache.fulcrum.yaafi.service.servicemanager;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.avalon.framework.activity.Disposable;
23 import org.apache.avalon.framework.context.Context;
24 import org.apache.avalon.framework.context.ContextException;
25 import org.apache.avalon.framework.context.Contextualizable;
26 import org.apache.avalon.framework.context.DefaultContext;
27 import org.apache.avalon.framework.logger.AbstractLogEnabled;
28 import org.apache.avalon.framework.logger.Logger;
29 import org.apache.avalon.framework.parameters.ParameterException;
30 import org.apache.avalon.framework.parameters.Parameterizable;
31 import org.apache.avalon.framework.parameters.Parameters;
32 import org.apache.avalon.framework.service.ServiceException;
33 import org.apache.avalon.framework.service.ServiceManager;
34 import org.apache.avalon.framework.service.Serviceable;
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 public class ServiceManagerServiceImpl
50 extends AbstractLogEnabled
51 implements ServiceManagerService, Contextualizable, Parameterizable, Serviceable, Disposable
52 {
53
54 private static ServiceManagerServiceImpl instance;
55
56
57 private ServiceManager serviceManager;
58
59
60 private Parameters parameters;
61
62
63 private Context context;
64
65
66
67
68 public ServiceManagerServiceImpl()
69 {
70 setInstance(this);
71 }
72
73
74
75
76 public static synchronized ServiceManagerService getInstance()
77 {
78 return instance;
79 }
80
81
82
83
84
85 protected static synchronized void setInstance( ServiceManagerServiceImpl instance )
86 {
87 if( ServiceManagerServiceImpl.instance == null )
88 {
89 ServiceManagerServiceImpl.instance = instance;
90 }
91 }
92
93
94
95
96
97
98
99
100 public void service(ServiceManager serviceManager) throws ServiceException
101 {
102 this.serviceManager = serviceManager;
103 }
104
105
106
107
108 public void contextualize(Context context) throws ContextException
109 {
110 this.context = context;
111 }
112
113
114
115
116 public void parameterize(Parameters parameters) throws ParameterException
117 {
118 this.parameters = parameters;
119 }
120
121
122
123
124 public void dispose()
125 {
126 this.serviceManager = null;
127 this.parameters = new Parameters();
128 this.context = new DefaultContext();
129 ServiceManagerServiceImpl.instance = null;
130 }
131
132
133
134
135
136
137
138
139 public boolean hasService(String name)
140 {
141 return this.serviceManager.hasService(name);
142 }
143
144
145
146
147 public Object lookup(String name) throws ServiceException
148 {
149 return this.serviceManager.lookup(name);
150 }
151
152
153
154
155 public void release(Object object)
156 {
157 this.serviceManager.release(object);
158 }
159
160
161
162
163 public ServiceManager getServiceManager()
164 {
165 return this.serviceManager;
166 }
167
168
169
170
171 public Parameters getParameters()
172 {
173 return this.parameters;
174 }
175
176
177
178
179 public Context getContext()
180 {
181 return this.context;
182 }
183
184
185
186
187 public Logger getAvalonLogger()
188 {
189 return this.getLogger();
190 }
191 }