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=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..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. @@ -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. + } }