X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fadapters%2FObjectAdapter.java;h=3777b7da0361bd571b04066c4b7b4ef79bb1ba19;hb=49ce7cb8387601982d5e6ef186ce206d38f6e3d7;hp=91b10b334cf0bfc22a4b846b752bae148a13cc96;hpb=0ef16bd1ab00860f90da1198589b3c777561691d;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/adapters/ObjectAdapter.java b/system/general/src/main/java/org/wamblee/system/adapters/ObjectAdapter.java index 91b10b33..3777b7da 100644 --- a/system/general/src/main/java/org/wamblee/system/adapters/ObjectAdapter.java +++ b/system/general/src/main/java/org/wamblee/system/adapters/ObjectAdapter.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. @@ -22,37 +22,41 @@ import org.wamblee.system.core.RequiredInterface; import org.wamblee.system.core.Scope; /** - * An adapter class that adapts an existing object to a component. - * + * An adapter class that adapts an existing object to a component. + * * @author Erik Brakkee */ public class ObjectAdapter extends AbstractComponent { + private ObjectConfiguration objectConfig; + + private Object object; + + /** + * Creates a new ObjectAdapter object. + * + */ + public ObjectAdapter(String aName, Object aObject, + ObjectConfiguration aObjectConfig) { + super(aName, new ProvidedInterface[] { new DefaultProvidedInterface( + aName, aObject.getClass()) }, aObjectConfig.getRequiredInterfaces() + .toArray(new RequiredInterface[0])); + objectConfig = aObjectConfig; + object = aObject; + } + + @Override + protected Object doStart(Scope aScope) { + objectConfig.inject(aScope, object); + + for (ProvidedInterface provided : getProvidedInterfaces()) { + addInterface(provided, object, aScope); + } + + return object; + } - private SetterConfiguration _setterConfig; - private Object _object; - - public ObjectAdapter(String aName, Object aObject, SetterConfiguration aSetterConfig) { - super(aName, - new ProvidedInterface[] { new DefaultProvidedInterface(aName, aObject.getClass()) }, - aSetterConfig.getRequiredInterfaces().toArray(new RequiredInterface[0])); - _setterConfig = aSetterConfig; - _object = aObject; - } - - @Override - protected Object doStart(Scope aScope) { - - _setterConfig.inject(aScope, _object); - - for (ProvidedInterface provided: getProvidedInterfaces()) { - addInterface(provided, _object, aScope); - } - - return _object; - } - - @Override - protected void doStop(Object aRuntime) { - // Empty. - } + @Override + protected void doStop(Object aRuntime) { + // Empty. + } }