X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fadapters%2FClassAdapter.java;h=2eacbde348ed63a8ac987de499be6c7d9a88b3fa;hb=8de36ff0206c996baf3ee4adc3e2293b12ff5f39;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..2eacbde3 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,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. @@ -16,41 +16,43 @@ 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. + } }