X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fadapters%2FClassAdapter.java;h=fbac6341ad5081e022f053a09c8beee11b2923fb;hb=49ce7cb8387601982d5e6ef186ce206d38f6e3d7;hp=d7d273b5f4e4ffd6fda9d2a9ea41a08a21ced624;hpb=2acd9d7b630b9978a504a5a415f25ea2efe18c10;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 d7d273b5..fbac6341 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. @@ -17,38 +17,42 @@ package org.wamblee.system.adapters; import org.wamblee.system.core.AbstractComponent; 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. + } }