1 22 package org.jboss.kernel.plugins.registry.basic; 23 24 import org.jboss.kernel.Kernel; 25 import org.jboss.kernel.plugins.registry.AbstractKernelRegistry; 26 import org.jboss.kernel.spi.event.KernelEvent; 27 import org.jboss.kernel.spi.registry.KernelRegistryEntry; 28 import org.jboss.kernel.spi.registry.KernelRegistryPlugin; 29 30 36 public class BasicKernelRegistry extends AbstractKernelRegistry 37 { 38 39 protected BasicKernelRegistryFactory defaultFactory = new BasicKernelRegistryFactory(); 40 41 46 public BasicKernelRegistry() throws Exception 47 { 48 addKernelRegistryFactory(defaultFactory); 49 } 50 51 public void registerEntry(Object name, KernelRegistryEntry entry) 52 { 53 Kernel.checkConfigure(); 54 55 defaultFactory.registerEntry(name, entry); 56 57 Object target = entry.getTarget(); 58 if (target != null && target instanceof KernelRegistryPlugin) 59 { 60 KernelRegistryPlugin factory = (KernelRegistryPlugin) target; 61 addKernelRegistryFactory(factory); 62 } 63 64 if (hasListeners()) 65 { 66 KernelEvent event = createEvent(KERNEL_REGISTRY_REGISTERED, name); 67 fireKernelEvent(event); 68 } 69 } 70 71 public KernelRegistryEntry unregisterEntry(Object name) 72 { 73 Kernel.checkConfigure(); 74 75 KernelRegistryEntry entry = defaultFactory.unregisterEntry(name); 76 77 Object target = entry.getTarget(); 78 if (target != null && target instanceof KernelRegistryPlugin) 79 { 80 KernelRegistryPlugin factory = (KernelRegistryPlugin) target; 81 removeKernelRegistryFactory(factory); 82 } 83 84 if (hasListeners()) 85 { 86 KernelEvent event = createEvent(KERNEL_REGISTRY_UNREGISTERED, name); 87 fireKernelEvent(event); 88 } 89 90 return entry; 91 } 92 } 93 | Popular Tags |