[jboss-cvs] JBossAS SVN: r70355 - in projects/microcontainer/trunk: aop-mc-int/src/tests/org/jboss/test/microcontainer/support and 8 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Mar 4 05:56:58 EST 2008


Author: adrian at jboss.org
Date: 2008-03-04 05:56:58 -0500 (Tue, 04 Mar 2008)
New Revision: 70355

Added:
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/annotations/Dependency.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/DependencyBuilder.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/DependencyBuilderListItem.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/helpers/AbstractDependencyBuilder.java
Modified:
   projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java
   projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AspectDependencyBuilderListItem.java
   projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/support/TestAnnotationDependency.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/bootstrap/basic/KernelConstants.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfig.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/property/PropertyKernelConfig.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/DescribeAction.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfig.java
Log:
[JBMICROCONT-248] - Move the DependencyBuilder to the kernel project

Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java	2008-03-04 08:26:09 UTC (rev 70354)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java	2008-03-04 10:56:58 UTC (rev 70355)
@@ -29,8 +29,8 @@
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.Map.Entry;
-import java.util.Set;
 
 import org.jboss.aop.Advisor;
 import org.jboss.aop.AspectManager;
@@ -42,11 +42,11 @@
 import org.jboss.aop.proxy.container.ContainerCache;
 import org.jboss.aop.util.Advisable;
 import org.jboss.aop.util.ClassInfoMethodHashing;
-import org.jboss.classadapter.plugins.dependency.AbstractDependencyBuilder;
-import org.jboss.classadapter.spi.ClassAdapter;
-import org.jboss.classadapter.spi.Dependency;
-import org.jboss.classadapter.spi.DependencyBuilderListItem;
+import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.metadata.api.annotations.Dependency;
 import org.jboss.dependency.spi.ControllerState;
+import org.jboss.kernel.spi.dependency.DependencyBuilderListItem;
+import org.jboss.kernel.spi.dependency.helpers.AbstractDependencyBuilder;
 import org.jboss.metadata.spi.MetaData;
 import org.jboss.metadata.spi.signature.MethodSignature;
 import org.jboss.reflect.plugins.AnnotationValueFactory;
@@ -76,16 +76,17 @@
    private static final IntrospectionAnnotationHelper helper = new IntrospectionAnnotationHelper();
 
    @SuppressWarnings("unchecked")
-   public List<DependencyBuilderListItem<?>> getDependencies(ClassAdapter classAdapter, MetaData metaData)
+   @Override
+   public List<DependencyBuilderListItem> getDependencies(BeanInfo beanInfo, MetaData metaData)
    {
       AspectManager manager = AspectManagerFactory.getAspectManager(metaData);
       try
       {
-         ClassInfo classInfo = classAdapter.getClassInfo();
+         ClassInfo classInfo = beanInfo.getClassInfo();
          String className = classInfo.getName();
          if (className != null)
          {
-            ClassLoader loader = classAdapter.getClassLoader();
+            ClassLoader loader = classInfo.getType().getClassLoader();
             if (loader == null)
             {
                loader = Thread.currentThread().getContextClassLoader();
@@ -101,7 +102,7 @@
             ReflectiveAspectBinder binder = new ReflectiveAspectBinder(clazz, advisor);
             Set aspects = binder.getAspects();
 
-            ArrayList<DependencyBuilderListItem<?>> depends = new ArrayList<DependencyBuilderListItem<?>>();
+            ArrayList<DependencyBuilderListItem> depends = new ArrayList<DependencyBuilderListItem>();
             if (aspects != null && aspects.size() > 0)
             {
                Iterator it = aspects.iterator();

Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AspectDependencyBuilderListItem.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AspectDependencyBuilderListItem.java	2008-03-04 08:26:09 UTC (rev 70354)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AspectDependencyBuilderListItem.java	2008-03-04 10:56:58 UTC (rev 70355)
@@ -22,10 +22,10 @@
 package org.jboss.aop.microcontainer.integration;
 
 import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.classadapter.spi.DependencyBuilderListItem;
 import org.jboss.dependency.plugins.AbstractDependencyItem;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.dependency.spi.DependencyInfo;
+import org.jboss.kernel.spi.dependency.DependencyBuilderListItem;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
 
 /**
@@ -33,7 +33,7 @@
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-class AspectDependencyBuilderListItem implements DependencyBuilderListItem<KernelControllerContext>
+class AspectDependencyBuilderListItem implements DependencyBuilderListItem
 {
    String dependencyName;
    AspectDependencyBuilderListItem(String name)

Modified: projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/support/TestAnnotationDependency.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/support/TestAnnotationDependency.java	2008-03-04 08:26:09 UTC (rev 70354)
+++ projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/support/TestAnnotationDependency.java	2008-03-04 10:56:58 UTC (rev 70355)
@@ -24,7 +24,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
-import org.jboss.classadapter.spi.Dependency;
+import org.jboss.beans.metadata.api.annotations.Dependency;
 
 /**
  * 

Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/annotations/Dependency.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/annotations/Dependency.java	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/annotations/Dependency.java	2008-03-04 10:56:58 UTC (rev 70355)
@@ -0,0 +1,40 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.beans.metadata.api.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Dependency.
+ * 
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 44529 $
+ */
+ at Retention(RetentionPolicy.RUNTIME)
+ at Target(ElementType.ANNOTATION_TYPE)
+public @interface Dependency
+{
+   String name();
+}

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/bootstrap/basic/KernelConstants.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/bootstrap/basic/KernelConstants.java	2008-03-04 08:26:09 UTC (rev 70354)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/bootstrap/basic/KernelConstants.java	2008-03-04 10:56:58 UTC (rev 70355)
@@ -23,6 +23,7 @@
 
 import org.jboss.kernel.spi.bootstrap.KernelInitializer;
 import org.jboss.kernel.spi.config.KernelConfigurator;
+import org.jboss.kernel.spi.dependency.DependencyBuilder;
 import org.jboss.kernel.spi.dependency.KernelController;
 import org.jboss.kernel.spi.event.KernelEventManager;
 import org.jboss.kernel.spi.metadata.KernelMetaDataRepository;
@@ -106,4 +107,10 @@
    
    /** The default meta data repository implementation */
    static final String KERNEL_METADATA_REPOSITORY_CLASS = "org.jboss.kernel.plugins.metadata.basic.BasicKernelMetaDataRepository"; 
+
+   /** The DependencyBuilder property name */
+   static final String DEPENDENCY_BUILDER_NAME = DependencyBuilder.class.getName();
+   
+   /** The DependencyBuilder default value */
+   static final String DEPENDENCY_BUILDER_DEFAULT="org.jboss.aop.microcontainer.integration.AOPDependencyBuilder:org.jboss.kernel.spi.dependency.helpers.AbstractDependencyBuilder";
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfig.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfig.java	2008-03-04 08:26:09 UTC (rev 70354)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/AbstractKernelConfig.java	2008-03-04 10:56:58 UTC (rev 70355)
@@ -24,11 +24,12 @@
 import org.jboss.beans.info.spi.BeanInfo;
 import org.jboss.beans.info.spi.BeanInfoFactory;
 import org.jboss.classadapter.spi.ClassAdapterFactory;
-import org.jboss.classadapter.spi.DependencyBuilder;
 import org.jboss.config.spi.Configuration;
+import org.jboss.config.spi.ConfigurationPermission;
 import org.jboss.joinpoint.spi.JoinpointFactoryBuilder;
 import org.jboss.kernel.plugins.AbstractKernelObject;
 import org.jboss.kernel.spi.config.KernelConfig;
+import org.jboss.kernel.spi.dependency.DependencyBuilder;
 import org.jboss.reflect.spi.ClassInfo;
 import org.jboss.reflect.spi.TypeInfo;
 import org.jboss.reflect.spi.TypeInfoFactory;
@@ -44,6 +45,9 @@
 {
    /** The configuration */
    protected Configuration configuration;
+
+   /** The dependency builder */
+   private DependencyBuilder dependencyBuilder;
    
    /**
     * Create an abstract kernel configuration
@@ -125,6 +129,35 @@
    }
 
    /**
+    * Get the dependency builder
+    * 
+    * @return the dependency builder
+    */
+   public DependencyBuilder getDependencyBuilder()
+   {
+      if (dependencyBuilder == null)
+      {
+         try
+         {
+            dependencyBuilder = createDefaultDependencyBuilder();
+         }
+         catch (RuntimeException e)
+         {
+            throw e;
+         }
+         catch (Error e)
+         {
+            throw e;
+         }
+         catch (Throwable t)
+         {
+            throw new RuntimeException("Error creating dependency builder", t);
+         }
+      }
+      return dependencyBuilder;
+   }
+   
+   /**
     * Set the dependencyBuilder.
     * 
     * @param dependencyBuilder the dependencyBuilder.
@@ -132,6 +165,28 @@
     */
    public void setDependencyBuilder(DependencyBuilder dependencyBuilder)
    {
-      configuration.setDependencyBuilder(dependencyBuilder);
+      checkPermissionName("dependencyBuilder");
+      this.dependencyBuilder = dependencyBuilder;
    }
+
+   /**
+    * Create the default dependency builder
+    * 
+    * @return the type info factory
+    * @throws Throwable for any error
+    */
+   protected abstract DependencyBuilder createDefaultDependencyBuilder() throws Throwable;
+
+   /**
+    * Check a permission
+    * 
+    * @param name the name of the permission
+    */
+   private void checkPermissionName(String name)
+   {
+      SecurityManager sm = System.getSecurityManager();
+      if (sm != null)
+         sm.checkPermission(new ConfigurationPermission(name));
+      
+   }
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/property/PropertyKernelConfig.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/property/PropertyKernelConfig.java	2008-03-04 08:26:09 UTC (rev 70354)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/config/property/PropertyKernelConfig.java	2008-03-04 10:56:58 UTC (rev 70355)
@@ -23,6 +23,7 @@
 
 import java.util.Iterator;
 import java.util.Properties;
+import java.util.StringTokenizer;
 import java.util.TreeSet;
 
 import org.jboss.beans.info.spi.BeanInfo;
@@ -33,6 +34,7 @@
 import org.jboss.kernel.plugins.config.Configurator;
 import org.jboss.kernel.spi.bootstrap.KernelInitializer;
 import org.jboss.kernel.spi.config.KernelConfigurator;
+import org.jboss.kernel.spi.dependency.DependencyBuilder;
 import org.jboss.kernel.spi.dependency.KernelController;
 import org.jboss.kernel.spi.event.KernelEventManager;
 import org.jboss.kernel.spi.metadata.KernelMetaDataRepository;
@@ -136,6 +138,14 @@
          KernelConstants.KERNEL_METADATA_REPOSITORY_CLASS
       );
    }
+   
+   public DependencyBuilder createDefaultDependencyBuilder() throws Throwable
+   {
+      return (DependencyBuilder) getImplementation(
+         KernelConstants.DEPENDENCY_BUILDER_NAME,
+         KernelConstants.DEPENDENCY_BUILDER_DEFAULT
+      );
+   }
 
    /**
     * Get the implementation for a type
@@ -149,14 +159,32 @@
    {
       Properties properties = getProperties();
 
-      String className = properties.getProperty(type, defaultType);
+      String value = properties.getProperty(type, defaultType);
       if (log.isTraceEnabled())
-         log.trace(type + " using implementation " + className); 
+         log.trace(type + " using property " + value); 
 
-      ClassLoader cl = Configurator.getClassLoader((BeanMetaData) null);
-      BeanInfo info = getBeanInfo(className, cl);
-      BeanMetaData metaData = getBeanMetaData(info, className);
-      return Configurator.instantiateAndConfigure(this, info, metaData);
+      StringTokenizer tokenizer = new StringTokenizer(value, ":");
+      ClassNotFoundException error = null;
+      while (tokenizer.hasMoreTokens())
+      {
+         String className = tokenizer.nextToken();
+
+         ClassLoader cl = Configurator.getClassLoader((BeanMetaData) null);
+         try
+         {
+            BeanInfo info = getBeanInfo(className, cl);
+            BeanMetaData metaData = getBeanMetaData(info, className);
+            return Configurator.instantiateAndConfigure(this, info, metaData);
+         }
+         catch (ClassNotFoundException ignored)
+         {
+            log.trace(className + " not found: " + ignored.getMessage());
+            error = ignored;
+         }
+      }
+      if (error != null)
+         throw error;
+      throw new RuntimeException("Invalid configuration for property " + type + " expected a class name that implements " + type);
    }
    
    /**

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/DescribeAction.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/DescribeAction.java	2008-03-04 08:26:09 UTC (rev 70354)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/dependency/DescribeAction.java	2008-03-04 10:56:58 UTC (rev 70355)
@@ -24,9 +24,11 @@
 import java.util.List;
 
 import org.jboss.beans.info.spi.BeanInfo;
-import org.jboss.classadapter.spi.DependencyBuilderListItem;
 import org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory;
 import org.jboss.kernel.plugins.annotations.BeanAnnotationAdapter;
+import org.jboss.kernel.spi.config.KernelConfig;
+import org.jboss.kernel.spi.dependency.DependencyBuilder;
+import org.jboss.kernel.spi.dependency.DependencyBuilderListItem;
 import org.jboss.kernel.spi.dependency.KernelController;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
 import org.jboss.kernel.spi.metadata.KernelMetaDataRepository;
@@ -48,10 +50,12 @@
       if (info != null)
       {
          KernelController controller = (KernelController)context.getController();
+         KernelConfig config = controller.getKernel().getConfig();
+         DependencyBuilder dependencyBuilder = config.getDependencyBuilder();
          KernelMetaDataRepository repository = controller.getKernel().getMetaDataRepository();
          MetaData md = repository.getMetaData(context);
          // add custom dependencies (e.g. AOP layer).
-         List<DependencyBuilderListItem> dependencies = (List) info.getDependencies(md);
+         List<DependencyBuilderListItem> dependencies = dependencyBuilder.getDependencies(info, md);
          log.trace("Extra dependencies for " + context.getName() + " " + dependencies);
          if (dependencies != null && dependencies.isEmpty() == false)
          {

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfig.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfig.java	2008-03-04 08:26:09 UTC (rev 70354)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/config/KernelConfig.java	2008-03-04 10:56:58 UTC (rev 70355)
@@ -24,6 +24,7 @@
 import org.jboss.beans.info.spi.BeanInfo;
 import org.jboss.kernel.spi.KernelObject;
 import org.jboss.kernel.spi.bootstrap.KernelInitializer;
+import org.jboss.kernel.spi.dependency.DependencyBuilder;
 import org.jboss.kernel.spi.dependency.KernelController;
 import org.jboss.kernel.spi.event.KernelEventManager;
 import org.jboss.kernel.spi.metadata.KernelMetaDataRepository;
@@ -145,4 +146,12 @@
     * @throws Throwable for any error
     */
    KernelMetaDataRepository createKernelMetaDataRepository() throws Throwable;
+   
+   /**
+    * Get the dependency builder
+    * 
+    * @return the dependency builder
+    * @throws Throwable for any error
+    */
+   DependencyBuilder getDependencyBuilder() throws Throwable;
 }

Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/DependencyBuilder.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/DependencyBuilder.java	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/DependencyBuilder.java	2008-03-04 10:56:58 UTC (rev 70355)
@@ -0,0 +1,45 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.kernel.spi.dependency;
+
+import java.util.List;
+
+import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.metadata.spi.MetaData;
+
+/**
+ * DependencyBuilder.
+ * 
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 69888 $
+ */
+public interface DependencyBuilder
+{
+   /**
+    * Get the dependencies for this instance
+    *
+    * @param beanInfo the bean info
+    * @param metaData the metadata
+    * @return the dependencies
+    */
+   List<DependencyBuilderListItem> getDependencies(BeanInfo beanInfo, MetaData metaData);
+}

Added: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/DependencyBuilderListItem.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/DependencyBuilderListItem.java	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/DependencyBuilderListItem.java	2008-03-04 10:56:58 UTC (rev 70355)
@@ -0,0 +1,32 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors. 
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/ 
+package org.jboss.kernel.spi.dependency;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public interface DependencyBuilderListItem
+{
+   void addDependency(KernelControllerContext ctx);
+}

Copied: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/helpers/AbstractDependencyBuilder.java (from rev 70351, projects/microcontainer/trunk/container/src/main/org/jboss/classadapter/plugins/dependency/AbstractDependencyBuilder.java)
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/helpers/AbstractDependencyBuilder.java	                        (rev 0)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/helpers/AbstractDependencyBuilder.java	2008-03-04 10:56:58 UTC (rev 70355)
@@ -0,0 +1,44 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.kernel.spi.dependency.helpers;
+
+import java.util.List;
+
+import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.kernel.spi.dependency.DependencyBuilder;
+import org.jboss.kernel.spi.dependency.DependencyBuilderListItem;
+import org.jboss.metadata.spi.MetaData;
+
+/**
+ * AbstractDependencyBuilder.
+ * 
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision$
+ */
+public class AbstractDependencyBuilder implements DependencyBuilder
+{
+   public List<DependencyBuilderListItem> getDependencies(BeanInfo beanInfo, MetaData metaData)
+   {
+      return null;
+   }
+   
+}




More information about the jboss-cvs-commits mailing list