+ 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);
+ }