01: /**
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: */package org.apache.cxf.systest.jaxb.util;
19:
20: import java.util.List;
21:
22: import org.springframework.beans.factory.FactoryBean;
23:
24: public class ClassArrayFactoryBean implements FactoryBean {
25:
26: private List<String> classNames;
27:
28: /*
29: * (non-Javadoc)
30: *
31: * @see org.springframework.beans.factory.FactoryBean#getObject()
32: */
33: public Object getObject() throws Exception {
34:
35: final Class<?>[] classes = new Class<?>[classNames.size()];
36: for (int i = 0; i < classNames.size(); i++) {
37: classes[i] = Class.forName(classNames.get(i));
38: }
39: return classes;
40: }
41:
42: /*
43: * (non-Javadoc)
44: *
45: * @see org.springframework.beans.factory.FactoryBean#getObjectType()
46: */
47: public Class<?> getObjectType() {
48: return Class[].class;
49: }
50:
51: /*
52: * (non-Javadoc)
53: *
54: * @see org.springframework.beans.factory.FactoryBean#isSingleton()
55: */
56: public boolean isSingleton() {
57: return true;
58: }
59:
60: /**
61: * @return the classNames
62: */
63: public List<String> getClassNames() {
64: return classNames;
65: }
66:
67: /**
68: * @param classNames the classNames to set
69: */
70: public void setClassNames(List<String> classNames) {
71: this.classNames = classNames;
72: }
73:
74: }
|