KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > bus > resource > ResourceManagerImpl


1 package org.objectweb.celtix.bus.resource;
2
3 import java.util.logging.Level JavaDoc;
4 import java.util.logging.Logger JavaDoc;
5 import org.objectweb.celtix.Bus;
6 import org.objectweb.celtix.BusException;
7 import org.objectweb.celtix.common.logging.LogUtils;
8 import org.objectweb.celtix.configuration.Configuration;
9 import org.objectweb.celtix.configuration.types.StringListType;
10 import org.objectweb.celtix.resource.DefaultResourceManager;
11 import org.objectweb.celtix.resource.ResourceResolver;
12
13
14 public class ResourceManagerImpl extends DefaultResourceManager {
15     
16     private static final Logger JavaDoc LOG = LogUtils.getL7dLogger(ResourceManagerImpl.class);
17
18     public ResourceManagerImpl() {
19         super();
20     }
21     public ResourceManagerImpl(Bus bus) throws BusException {
22         super();
23         resolvers.clear();
24         
25         Configuration conf = bus.getConfiguration();
26         assert null != conf;
27         Object JavaDoc obj = conf.getObject("resourceResolvers");
28         assert null != obj;
29         
30         try {
31             for (String JavaDoc className : ((StringListType)obj).getItem()) {
32                 if (LOG.isLoggable(Level.FINE)) {
33                     LOG.finest("attempting to load resolver " + className);
34                 }
35                 
36                 Class JavaDoc<? extends ResourceResolver> clz = getClass().getClassLoader().loadClass(className)
37                     .asSubclass(ResourceResolver.class);
38
39                 ResourceResolver rr = clz.newInstance();
40                 resolvers.add(rr);
41             }
42         } catch (Exception JavaDoc ex) {
43             throw new BusException(ex);
44         }
45     }
46     
47 }
48
Popular Tags