1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.qedeq.kernel.se.dto.module;
17
18 import org.apache.commons.lang.ArrayUtils;
19 import org.qedeq.base.utility.EqualsUtility;
20 import org.qedeq.kernel.se.base.list.Element;
21 import org.qedeq.kernel.se.base.module.Rename;
22
23
24
25
26
27
28
29 public class RenameVo implements Rename {
30
31
32 private String reference;
33
34
35 private Element originalSubjectVariable;
36
37
38 private Element replacementSubjectVariable;
39
40
41
42 private int occurrence;
43
44
45
46
47
48
49
50
51
52
53
54 public RenameVo(final String reference, final Element originalSubjectVariable,
55 final Element replacementSubjectVariable, final int occurrence) {
56 this.reference = reference;
57 this.originalSubjectVariable = originalSubjectVariable;
58 this.replacementSubjectVariable = replacementSubjectVariable;
59 this.occurrence = occurrence;
60 }
61
62
63
64
65 public RenameVo() {
66
67 }
68
69 public Rename getRename() {
70 return this;
71 }
72
73 public String getReference() {
74 return reference;
75 }
76
77
78
79
80
81
82 public void setReference(final String reference) {
83 this.reference = reference;
84 }
85
86 public String[] getReferences() {
87 if (reference == null) {
88 return ArrayUtils.EMPTY_STRING_ARRAY;
89 }
90 return new String[] {reference };
91 }
92
93 public int getOccurrence() {
94 return occurrence;
95 }
96
97
98
99
100
101
102 public void setOccurrence(final int occurrence) {
103 this.occurrence = occurrence;
104 }
105
106 public Element getOriginalSubjectVariable() {
107 return originalSubjectVariable;
108 }
109
110
111
112
113
114
115 public void setOriginalSubjectVariable(final Element originalSubjectVariable) {
116 this.originalSubjectVariable = originalSubjectVariable;
117 }
118
119 public Element getReplacementSubjectVariable() {
120 return replacementSubjectVariable;
121 }
122
123
124
125
126
127
128 public void setReplacementSubjectVariable(final Element replacementSubjectVariable) {
129 this.replacementSubjectVariable = replacementSubjectVariable;
130 }
131
132 public String getName() {
133 return "Rename";
134 }
135
136 public boolean equals(final Object obj) {
137 if (!(obj instanceof RenameVo)) {
138 return false;
139 }
140 final RenameVo other = (RenameVo) obj;
141 return EqualsUtility.equals(reference, other.reference)
142 && EqualsUtility.equals(originalSubjectVariable, other.originalSubjectVariable)
143 && EqualsUtility.equals(replacementSubjectVariable, other.replacementSubjectVariable)
144 && (occurrence == other.occurrence);
145 }
146
147 public int hashCode() {
148 return (reference != null ? reference.hashCode() : 0)
149 ^ (originalSubjectVariable != null ? 2 ^ originalSubjectVariable.hashCode() : 0)
150 ^ (replacementSubjectVariable != null ? 3 ^ replacementSubjectVariable.hashCode() : 0)
151 ^ (4 ^ occurrence);
152 }
153
154 public String toString() {
155 StringBuffer result = new StringBuffer();
156 result.append(getName());
157 if (reference != null || originalSubjectVariable != null
158 || replacementSubjectVariable != null
159 || occurrence != 0) {
160 result.append(" (");
161 boolean w = false;
162 if (reference != null) {
163 result.append(reference);
164 w = true;
165 }
166 if (originalSubjectVariable != null) {
167 if (w) {
168 result.append(", ");
169 }
170 result.append(originalSubjectVariable);
171 w = true;
172 }
173 if (replacementSubjectVariable != null) {
174 if (w) {
175 result.append(", ");
176 }
177 result.append("by ");
178 result.append(replacementSubjectVariable);
179 w = true;
180 }
181 if (occurrence != 0) {
182 if (w) {
183 result.append(", ");
184 }
185 result.append("occurrence: ");
186 result.append(occurrence);
187 w = true;
188 }
189 result.append(")");
190 }
191 return result.toString();
192 }
193
194 }