1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package net.sf.oxclient.factory;
17
18 import java.util.HashMap;
19 import java.util.Map;
20
21 import org.springframework.beans.BeanUtils;
22
23 import net.sf.oval.constraint.NotNull;
24 import net.sf.oval.guard.Guarded;
25
26
27
28
29
30 @Guarded
31 public class DefaultBeanFactory implements IBeanFactory {
32
33 private Map<Class<?>, Class<?>> specialMap = new HashMap<Class<?>, Class<?>>();
34
35
36
37
38 @SuppressWarnings("unchecked")
39 public <E> E createNewInstance(@NotNull final Class<E> clazz) {
40 final Class<?> special = this.specialMap.get(clazz);
41 if (special != null) {
42 return (E) BeanUtils.instantiateClass(special);
43 }
44 return (E) BeanUtils.instantiateClass(clazz);
45 }
46
47 public void setSpecialMap(final Map<Class<?>, Class<?>> specialMap) {
48 this.specialMap = specialMap;
49 }
50
51 }