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.SubstFree;
22
23
24
25
26
27
28
29 public class SubstFreeVo implements SubstFree {
30
31
32 private String reference;
33
34
35 private Element subjectVariable;
36
37
38 private Element substituteTerm;
39
40
41
42
43
44
45
46
47
48 public SubstFreeVo(final String reference, final Element subjectVariable,
49 final Element substituteTerm) {
50 this.reference = reference;
51 this.subjectVariable = subjectVariable;
52 this.substituteTerm = substituteTerm;
53 }
54
55
56
57
58 public SubstFreeVo() {
59
60 }
61
62 public SubstFree getSubstFree() {
63 return this;
64 }
65
66 public String getReference() {
67 return reference;
68 }
69
70
71
72
73
74
75 public void setReference(final String reference) {
76 this.reference = reference;
77 }
78
79 public String[] getReferences() {
80 if (reference == null) {
81 return ArrayUtils.EMPTY_STRING_ARRAY;
82 }
83 return new String[] {reference };
84 }
85
86 public Element getSubjectVariable() {
87 return subjectVariable;
88 }
89
90
91
92
93
94
95 public void setSubjectVariable(final Element subjectVariable) {
96 this.subjectVariable = subjectVariable;
97 }
98
99 public Element getSubstituteTerm() {
100 return substituteTerm;
101 }
102
103
104
105
106
107
108 public void setSubstituteTerm(final Element substituteTerm) {
109 this.substituteTerm = substituteTerm;
110 }
111
112 public String getName() {
113 return "SubstFree";
114 }
115
116 public boolean equals(final Object obj) {
117 if (!(obj instanceof SubstFreeVo)) {
118 return false;
119 }
120 final SubstFreeVo other = (SubstFreeVo) obj;
121 return EqualsUtility.equals(reference, other.reference)
122 && EqualsUtility.equals(subjectVariable, other.subjectVariable)
123 && EqualsUtility.equals(substituteTerm, other.substituteTerm);
124 }
125
126 public int hashCode() {
127 return (reference != null ? reference.hashCode() : 0)
128 ^ (subjectVariable != null ? 2 ^ subjectVariable.hashCode() : 0)
129 ^ (substituteTerm != null ? 3 ^ substituteTerm.hashCode() : 0);
130 }
131
132 public String toString() {
133 StringBuffer result = new StringBuffer();
134 result.append(getName());
135 if (reference != null || subjectVariable != null
136 || substituteTerm != null) {
137 result.append(" (");
138 boolean w = false;
139 if (reference != null) {
140 result.append(reference);
141 w = true;
142 }
143 if (subjectVariable != null) {
144 if (w) {
145 result.append(", ");
146 }
147 result.append(subjectVariable);
148 w = true;
149 }
150 if (substituteTerm != null) {
151 if (w) {
152 result.append(", ");
153 }
154 result.append("by ");
155 result.append(substituteTerm);
156 w = true;
157 }
158 result.append(")");
159 }
160 return result.toString();
161 }
162
163 }