1
2
3
4
5
6
7
8
9
10 package pt.digitalis.dif.codegen.util;
11
12 import pt.digitalis.dif.utils.ObjectFormatter;
13
14
15
16
17
18
19
20
21 public class ClassMethodEnhancement {
22
23
24 private boolean incrementalMode;
25
26
27 private String methodName;
28
29
30 private StringBuilder source = new StringBuilder();
31
32
33 String terminatorSource = "";
34
35
36
37
38
39
40
41
42
43 public ClassMethodEnhancement(String methodName, boolean incrementalMode) {
44 this.methodName = methodName;
45 this.incrementalMode = incrementalMode;
46 }
47
48
49
50
51
52
53
54 public void addSource(String source) {
55 if (isIncrementalMode())
56 this.source.append(source);
57 else
58 this.source = new StringBuilder(source);
59 }
60
61
62
63
64
65
66 public String getMethodName() {
67 return methodName;
68 }
69
70
71
72
73
74
75 public String getSource() {
76 if (terminatorSource == null || "".equals(terminatorSource))
77 return source.toString();
78 else
79 return source.toString() + "\n" + terminatorSource;
80 }
81
82
83
84
85
86
87 public boolean isIncrementalMode() {
88 return incrementalMode;
89 }
90
91
92
93
94
95
96 public void setSource(StringBuilder source)
97 {
98 this.source = source;
99 }
100
101
102
103
104
105
106
107 public void setTerminator(String source) {
108 this.terminatorSource = source;
109 }
110
111
112
113
114
115 @Override
116 public String toString() {
117 ObjectFormatter formatter = new ObjectFormatter();
118
119 formatter.addItem("Method Name", this.methodName);
120 formatter.addItem("Incremental", incrementalMode);
121 formatter.addItem("Source", source);
122 formatter.addItem("Terminator Source", terminatorSource);
123
124 return formatter.getFormatedObject();
125 }
126 }