[Jboss-cvs] JBossAS SVN: r55955 - in projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel: plugins/dependency spi/dependency

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Aug 15 10:42:59 EDT 2006


Author: alesj
Date: 2006-08-15 10:42:54 -0400 (Tue, 15 Aug 2006)
New Revision: 55955

Added:
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ClassContextKernelRegistryPlugin.java
Modified:
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelController.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/KernelController.java
Log:
ClassContextKernelRegistryPlugin introduction.

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelController.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelController.java	2006-08-15 14:41:37 UTC (rev 55954)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/AbstractKernelController.java	2006-08-15 14:42:54 UTC (rev 55955)
@@ -327,7 +327,13 @@
       private Set<KernelControllerContext> contexts;
    }
 
-   private KernelControllerContext getContextByClass(Class clazz)
+   /**
+    * If zero or multiple instances match class clazz
+    * a warning is issued, but no throwable is thrown
+    *
+    * @return context whose target is instance of this class clazz param or null if zero or multiple such instances
+    */
+   public KernelControllerContext getContextByClass(Class clazz)
    {
       Set<KernelControllerContext> contexts = getInstantiatedContexts(clazz);
       int numberOfMatchingBeans = 0;

Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ClassContextKernelRegistryPlugin.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ClassContextKernelRegistryPlugin.java	2006-08-15 14:41:37 UTC (rev 55954)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/ClassContextKernelRegistryPlugin.java	2006-08-15 14:42:54 UTC (rev 55955)
@@ -0,0 +1,28 @@
+package org.jboss.kernel.plugins.dependency;
+
+import org.jboss.kernel.spi.registry.KernelRegistryPlugin;
+import org.jboss.kernel.spi.registry.KernelRegistryEntry;
+import org.jboss.kernel.spi.dependency.KernelController;
+
+/**
+ * @author <a href="mailto:ales.justin at gmail.com">Ales Justin</a>
+ */
+public class ClassContextKernelRegistryPlugin implements KernelRegistryPlugin
+{
+   private KernelController controller;
+
+   public ClassContextKernelRegistryPlugin(KernelController controller)
+   {
+      this.controller = controller;
+   }
+
+   public KernelRegistryEntry getEntry(Object name)
+   {
+      if (name instanceof Class)
+      {
+         return controller.getContextByClass((Class)name);        
+      }
+      return null;
+   }
+
+}

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/KernelController.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/KernelController.java	2006-08-15 14:41:37 UTC (rev 55954)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/KernelController.java	2006-08-15 14:42:54 UTC (rev 55955)
@@ -79,6 +79,14 @@
    Set<KernelControllerContext> getInstantiatedContexts(Class clazz);
 
    /**
+    * If zero or multiple instances match class clazz
+    * a warning is issued, but no throwable is thrown
+    *
+    * @return context whose target is instance of this class clazz param or null if zero or multiple such instances
+    */
+   KernelControllerContext getContextByClass(Class clazz);
+
+   /**
     * add instantiated context into contextsByClass map
     * look at all target's superclasses and interfaces
     */




More information about the jboss-cvs-commits mailing list