1 package org.org.usurper.springframework;
2
3 import java.util.Set;
4
5 import org.org.usurper.UsurperGenerator;
6 import org.org.usurper.setup.UsurperGeneratorSetup;
7 import org.springframework.beans.factory.FactoryBean;
8 import org.springframework.beans.factory.InitializingBean;
9 import org.springframework.beans.factory.annotation.Required;
10
11
12
13
14
15
16 public class UsurperSetFactoryBean implements FactoryBean, InitializingBean {
17
18 private UsurperGenerator<?> usurperGenerator;
19 private String usurpedClassName;
20 private Integer count = UsurperSpringConstants.DEFAULT_ENTRIES_COUNT;
21 @SuppressWarnings("unchecked")
22 private Class usurpedClass;
23 private UsurperGeneratorSetup usurperGeneratorSetup;
24
25 public void setUsurperGeneratorSetup(UsurperGeneratorSetup usurperGeneratorSetup) {
26 this.usurperGeneratorSetup = usurperGeneratorSetup;
27 }
28
29 @Required
30 public void setUsurpedClassName(String usurpedClassName) {
31 this.usurpedClassName = usurpedClassName;
32 }
33
34 public Object getObject() throws Exception {
35 return usurperGenerator.generateUsurperSet(count);
36 }
37
38 @SuppressWarnings("unchecked")
39 public Class getObjectType() {
40 return Set.class;
41 }
42
43 public boolean isSingleton() {
44 return false;
45 }
46
47 @SuppressWarnings("unchecked")
48 public void afterPropertiesSet() throws Exception {
49 usurpedClass = Class.forName(usurpedClassName);
50 if (usurperGeneratorSetup == null) {
51 usurperGenerator = new UsurperGenerator(usurpedClass);
52 } else {
53 usurperGenerator = new UsurperGenerator(usurpedClass, usurperGeneratorSetup);
54 }
55 }
56
57 public void setCount(Integer count) {
58 this.count = count;
59 }
60
61 }