X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fadapters%2FDefaultContainer.java;h=48ef1b4dc5c316c8e0013cc28b4102809c279935;hb=8de36ff0206c996baf3ee4adc3e2293b12ff5f39;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..48ef1b4d 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,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. @@ -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; } - }