-
- private RequiredInterface _required;
-
- /**
- * Constructs the bean.
- * @param aId Id of the bean in the service registry.
- */
- public RequiredServiceBean(String aId) {
- RequiredInterface[] required = SpringComponent.THIS.get().getRequiredServices();
- for ( RequiredInterface intf: required) {
- if ( intf.getName().equals(aId)) {
- _required = intf;
- return;
- }
- }
- throw new SystemAssemblyException("Cannot resolve provided component '" + aId + "'");
- }
-
- @Override
- public Object getObject() throws Exception {
- return _required.getImplementation(Object.class);
- }
-
- @Override
- public Class getObjectType() {
- return null;
- }
-
- @Override
- public boolean isSingleton() {
- return true;
- }
+ /**
+ * DOCUMENT ME!
+ */
+ private RequiredInterface _required;
+
+/**
+ * Constructs the bean.
+ * @param aId Id of the bean in the service registry.
+ */
+ public RequiredServiceBean(String aId) {
+ List<RequiredInterface> required = SpringComponent.THIS.get()
+ .getRequiredInterfaces();
+
+ for (RequiredInterface intf : required) {
+ if (intf.getName().equals(aId)) {
+ _required = intf;
+
+ return;
+ }
+ }
+
+ throw new SystemAssemblyException("Cannot resolve required component '"
+ + aId + "'");
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @return DOCUMENT ME!
+ *
+ * @throws Exception DOCUMENT ME!
+ */
+ @Override
+ public Object getObject() throws Exception {
+ return SpringComponent.SCOPE.get()
+ .getInterfaceImplementation(_required.getProvider(), Object.class);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @return DOCUMENT ME!
+ */
+ @Override
+ public Class getObjectType() {
+ return null;
+ }