X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fadapters%2FDefaultContainer.java;h=fb6e0e24e5c5c9705d603bc63955f790a5067af2;hb=49ce7cb8387601982d5e6ef186ce206d38f6e3d7;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..fb6e0e24 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 @@ -1,5 +1,5 @@ /* - * Copyright 2008 the original author or authors. + * Copyright 2005-2010 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. @@ -15,13 +15,21 @@ */ 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; } - }