Removed DOCUMENT ME comments that were generated and applied source code
[utils] / system / general / src / main / java / org / wamblee / system / adapters / DefaultContainer.java
index c54206ea23ca3e8dd1f72b543958cda254511676..48ef1b4dc5c316c8e0013cc28b4102809c279935 100644 (file)
@@ -1,12 +1,12 @@
 /*
  * Copyright 2008 the original author or authors.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  */
 package org.wamblee.system.adapters;
 
+import org.wamblee.system.container.Container;
 import org.wamblee.system.core.Component;
-import org.wamblee.system.core.Container;
 import org.wamblee.system.core.ProvidedInterface;
 import org.wamblee.system.core.RequiredInterface;
 
+/**
+ * 
+ * @author $author$
+ * @version $Revision$
+ */
 public class DefaultContainer extends Container {
-
+    /**
+     * Creates a new DefaultContainer object.
+     * 
+     */
     public DefaultContainer(String aName) {
         super(aName);
     }
@@ -29,28 +37,36 @@ public class DefaultContainer extends Container {
     @Override
     public DefaultContainer addComponent(Component aComponent) {
         super.addComponent(aComponent);
+
         return this;
     }
 
-    public DefaultContainer addComponent(String aName, Class aClass) {
-        return addComponent(new ClassAdapter(aName, new ClassConfiguration(
-                aClass)));
-    }
-    
-    public DefaultContainer addComponent(String aName, ClassConfiguration aConfiguration) {
+    public DefaultContainer addComponent(String aName,
+        ClassConfiguration aConfiguration) {
         return addComponent(new ClassAdapter(aName, aConfiguration));
     }
 
+    public DefaultContainer addComponent(String aName, Object aObject,
+        ObjectConfiguration aConfiguration) {
+        if (!aConfiguration.appliesTo(aObject)) {
+            throw new IllegalArgumentException("Configuration '" +
+                aConfiguration + "' does nto applu to '" + aObject + "'");
+        }
+
+        return addComponent(new ObjectAdapter(aName, aObject, aConfiguration));
+    }
+
     @Override
     public DefaultContainer addRequiredInterface(RequiredInterface aRequired) {
         super.addRequiredInterface(aRequired);
+
         return this;
     }
 
     @Override
     public DefaultContainer addProvidedInterface(ProvidedInterface aProvided) {
         super.addProvidedInterface(aProvided);
+
         return this;
     }
-
 }