1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.krad.keyvalues;
17
18 import org.apache.commons.lang.StringUtils;
19 import org.apache.commons.lang.WordUtils;
20 import org.kuali.rice.core.api.util.ConcreteKeyValue;
21 import org.kuali.rice.core.api.util.KeyValue;
22 import org.kuali.rice.kew.api.util.CodeTranslator;
23
24 import java.util.ArrayList;
25 import java.util.List;
26
27
28
29
30
31
32 public class EnumValuesFinder extends KeyValuesBase {
33 private Class<? extends Enum> enumeration;
34
35 public EnumValuesFinder(Class<? extends Enum> enumeration) {
36 this.enumeration = enumeration;
37 }
38
39 @Override
40 public List<KeyValue> getKeyValues() {
41 List<KeyValue> labels = new ArrayList<KeyValue>();
42 for (Enum enumval: enumeration.getEnumConstants()) {
43 labels.add(new ConcreteKeyValue(getEnumKey(enumval), getEnumLabel(enumval)));
44 }
45 return labels;
46 }
47
48
49
50
51 protected String getEnumKey(Enum enm) {
52 return enm.name();
53 }
54
55
56
57
58 protected String getEnumLabel(Enum enm) {
59 return WordUtils.capitalize(enm.name().toLowerCase());
60 }
61 }