Added ObjectConfiguration as a holder for setter configuration (there will be more...
[utils] / system / general / src / main / java / org / wamblee / system / adapters / DefaultContainer.java
index c54206ea23ca3e8dd1f72b543958cda254511676..c8e8f58a0722b8691d0fb5582e1f39659e8771c9 100644 (file)
@@ -41,6 +41,20 @@ public class DefaultContainer extends Container {
         return addComponent(new ClassAdapter(aName, aConfiguration));
     }
 
+    public DefaultContainer addComponent(String aName, Object aObject) {
+        return addComponent(new ObjectAdapter(aName, aObject, new ObjectConfiguration(
+                aObject.getClass())));
+    }
+    
+    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);