X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fadapters%2FClassAdapter.java;h=47bce6d77c445f54e9108635053014eb80504031;hb=17775e14ecfb286e59f67117e5cee7e21e95ab1f;hp=aa12f35599e450bc2ab34781df55a15e57eb942f;hpb=c3f21528b7c03474411dfeb0bfc2a756f293c26c;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/adapters/ClassAdapter.java b/system/general/src/main/java/org/wamblee/system/adapters/ClassAdapter.java index aa12f355..47bce6d7 100644 --- a/system/general/src/main/java/org/wamblee/system/adapters/ClassAdapter.java +++ b/system/general/src/main/java/org/wamblee/system/adapters/ClassAdapter.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. @@ -12,45 +12,47 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ + */ package org.wamblee.system.adapters; import org.wamblee.system.core.AbstractComponent; -import org.wamblee.system.core.Component; import org.wamblee.system.core.ProvidedInterface; import org.wamblee.system.core.RequiredInterface; import org.wamblee.system.core.Scope; /** * A Class Adapter adapts a given class to a Component. - * + * * @author Erik Brakkee */ public class ClassAdapter extends AbstractComponent { + private ClassConfiguration _classConfig; + + /** + * Creates a new ClassAdapter object. + * + */ + public ClassAdapter(String aName, ClassConfiguration aClassConfig) { + super(aName, aClassConfig.getProvidedInterfaces().toArray( + new ProvidedInterface[0]), aClassConfig.getRequiredInterfaces() + .toArray(new RequiredInterface[0])); + _classConfig = aClassConfig; + } + + @Override + protected Object doStart(Scope aScope) { + Object obj = _classConfig.create(aScope); + _classConfig.inject(aScope, obj); + + for (ProvidedInterface provided : getProvidedInterfaces()) { + addInterface(provided, obj, aScope); + } - private ClassConfiguration _classConfig; + return obj; + } - public ClassAdapter(String aName, ClassConfiguration aClassConfig) { - super(aName, - aClassConfig.getProvidedInterfaces(), - aClassConfig.getRequiredInterface()); - _classConfig = aClassConfig; - } - - @Override - protected Object doStart(Scope aScope) { - - Object obj = _classConfig.create(aScope); - - for (ProvidedInterface provided: getProvidedInterfaces()) { - addInterface(provided, obj, aScope); - } - - return obj; - } - - @Override - protected void doStop(Object aRuntime) { - // Empty. - } + @Override + protected void doStop(Object aRuntime) { + // Empty. + } }