[maven-release-plugin] prepare for next development iteration
[utils] / system / general / src / main / java / org / wamblee / system / adapters / ClassAdapter.java
index 0de8322de0c6b952123d9c95e69dac4bfb5f9021..ace1525dfd9b7c01ba03325b00943cc039b9c607 100644 (file)
 package org.wamblee.system.adapters;
 
 import org.wamblee.system.core.AbstractComponent;
-import org.wamblee.system.core.Component;
 import org.wamblee.system.core.ProvidedInterface;
 import org.wamblee.system.core.RequiredInterface;
 import org.wamblee.system.core.Scope;
 
+/**
+ * A Class Adapter adapts a given class to a Component.
+ *  
+ * @author Erik Brakkee
+ */
 public class ClassAdapter extends AbstractComponent<Object> {
 
        private ClassConfiguration _classConfig;
 
        public ClassAdapter(String aName, ClassConfiguration aClassConfig) {
                super(aName, 
-                               aClassConfig.getProvidedInterfaces(),
-                               aClassConfig.getRequiredInterface());
+                               aClassConfig.getProvidedInterfaces().toArray(new ProvidedInterface[0]),
+                               aClassConfig.getRequiredInterfaces().toArray(new RequiredInterface[0]));
                _classConfig = aClassConfig; 
        }
        
@@ -36,6 +40,7 @@ public class ClassAdapter extends AbstractComponent<Object> {
        protected Object doStart(Scope aScope) {
                
            Object obj =  _classConfig.create(aScope);
+           _classConfig.inject(aScope, obj);
            
            for (ProvidedInterface provided: getProvidedInterfaces()) { 
                addInterface(provided, obj, aScope);