01: /*
02: * Copyright 2007 The Kuali Foundation
03: *
04: * Licensed under the Educational Community License, Version 1.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.opensource.org/licenses/ecl1.php
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16: package org.kuali.rice.resourceloader;
17:
18: import javax.xml.namespace.QName;
19:
20: import org.springframework.beans.factory.BeanFactory;
21:
22: /**
23: * Wraps a {@link BeanFactory} as a {@link ResourceLoader}.
24: *
25: * Does not start or stop the {@link BeanFactory}. Assumes this is being done
26: * by the application that started it.
27: *
28: * @author Kuali Rice Team (kuali-rice@googlegroups.com)
29: *
30: */
31: public class BeanFactoryResourceLoader extends BaseResourceLoader {
32:
33: private BeanFactory beanFactory;
34:
35: public BeanFactoryResourceLoader(QName name, BeanFactory beanFactory) {
36: super (name);
37: this .beanFactory = beanFactory;
38: }
39:
40: @Override
41: public Object getService(QName serviceName) {
42: if (this .beanFactory.containsBean(serviceName.toString())) {
43: Object service = this.beanFactory.getBean(serviceName
44: .toString());
45: return wrap(serviceName, service);
46: }
47: return super.getService(serviceName);
48: }
49:
50: }
|