1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.student.contract.writer.service;
17
18 import org.kuali.student.contract.model.MessageStructure;
19 import org.kuali.student.contract.model.ServiceContractModel;
20 import org.kuali.student.contract.writer.JavaClassWriter;
21
22
23
24
25
26 public class GetterSetterNameCalculator {
27
28 private MessageStructure ms;
29 private JavaClassWriter writer;
30 private ServiceContractModel model;
31
32 public GetterSetterNameCalculator(MessageStructure ms,
33 JavaClassWriter writer,
34 ServiceContractModel model) {
35 this.ms = ms;
36 this.writer = writer;
37 this.model = model;
38 }
39
40 public String calcGetter() {
41 if (calcFieldTypeToUse(ms.getType()).equals("Boolean")) {
42 if (ms.getShortName().toLowerCase().startsWith("is")) {
43 return calcInitLower(ms.getShortName());
44 }
45 return "is" + calcInitUpper(ms.getShortName());
46 }
47 return "get" + calcInitUpper(ms.getShortName());
48 }
49
50 public String calcSetter() {
51 if (calcFieldTypeToUse(ms.getType()).equals("Boolean")) {
52 if (ms.getShortName().toLowerCase().startsWith("is")) {
53 return "set" + calcInitUpper(ms.getShortName().substring(2));
54 }
55 }
56 return "set" + calcInitUpper(ms.getShortName());
57 }
58
59 public static String dot2Camel (String name) {
60 StringBuilder sb = new StringBuilder ();
61 boolean upper = true;
62 for (char c : name.toCharArray()) {
63 if (c == '.') {
64 upper = true;
65 continue;
66 }
67 if (upper) {
68 c = Character.toUpperCase(c);
69 upper = false;
70 }
71 sb.append (c);
72 }
73 return sb.toString();
74 }
75 public static String calcInitUpper(String name) {
76 return name.substring(0, 1).toUpperCase() + name.substring(1);
77 }
78
79 public static String calcInitLower(String name) {
80 return name.substring(0, 1).toLowerCase() + name.substring(1);
81 }
82
83 public String calcFieldTypeToUse(String type) {
84 return MessageStructureTypeCalculator.calculate(writer, model, type, type, null);
85 }
86
87 public static String stripList(String str) {
88 if (str.endsWith("List")) {
89 return str.substring(0, str.length() - "List".length());
90 }
91 return str;
92 }
93 }