X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fadapters%2FDefaultContainer.java;h=823b7c0d4951b53210c251292156db82e7cb8f87;hb=d4f4682056f4fdf0c74a174cd636f278423f6883;hp=c54206ea23ca3e8dd1f72b543958cda254511676;hpb=fddbe9b130633c7d8925f2580afea65767d1d615;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/adapters/DefaultContainer.java b/system/general/src/main/java/org/wamblee/system/adapters/DefaultContainer.java index c54206ea..823b7c0d 100644 --- a/system/general/src/main/java/org/wamblee/system/adapters/DefaultContainer.java +++ b/system/general/src/main/java/org/wamblee/system/adapters/DefaultContainer.java @@ -15,8 +15,8 @@ */ 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; @@ -31,16 +31,20 @@ public class DefaultContainer extends Container { 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) { 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);