/*
* Copyright 2007 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.
* See the License for the specific language governing permissions and
* limitations under the License.
- */
+ */
package org.wamblee.system.spring;
-import java.util.List;
-
import org.springframework.beans.factory.FactoryBean;
+
import org.wamblee.system.core.RequiredInterface;
import org.wamblee.system.core.SystemAssemblyException;
+import java.util.List;
+
+
/**
- * Bean which adds a service required by the spring component to
- * the application context so that other spring beans can use it.
- *
+ * Bean which adds a service required by the spring component to the
+ * application context so that other spring beans can use it.
+ *
* @author Erik Brakkee
*/
class RequiredServiceBean implements FactoryBean {
-
- 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!
+ */
+ 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;
+ }
+ }
- @Override
- public Object getObject() throws Exception {
- return SpringComponent.SCOPE.get().getInterfaceImplementation(
- _required.getProvider(), Object.class);
- }
+ throw new SystemAssemblyException("Cannot resolve required component '"
+ + aId + "'");
+ }
- @Override
- public Class getObjectType() {
- return null;
- }
+ /**
+ * DOCUMENT ME!
+ *
+ * @return DOCUMENT ME!
+ *
+ * @throws Exception DOCUMENT ME!
+ */
+ @Override
+ public Object getObject() throws Exception {
+ return SpringComponent.SCOPE.get()
+ .getInterfaceImplementation(_required.getProvider(), Object.class);
+ }
- @Override
- public boolean isSingleton() {
- return true;
- }
+ /**
+ * DOCUMENT ME!
+ *
+ * @return DOCUMENT ME!
+ */
+ @Override
+ public Class getObjectType() {
+ return null;
+ }
+ /**
+ * DOCUMENT ME!
+ *
+ * @return DOCUMENT ME!
+ */
+ @Override
+ public boolean isSingleton() {
+ return true;
+ }
}