Clover Coverage Report
Coverage timestamp: Fri May 24 2013 13:47:27 UTC
../../../../../../img/srcFileCovDistChart10.png 0% of files have more coverage
49   194   32   3.06
26   111   0.65   16
16     2  
1    
 
  RenameVo       Line # 29 49 32 100% 1.0
 
  (26)
 
1    /* This file is part of the project "Hilbert II" - http://www.qedeq.org
2    *
3    * Copyright 2000-2013, Michael Meyling <mime@qedeq.org>.
4    *
5    * "Hilbert II" is free software; you can redistribute
6    * it and/or modify it under the terms of the GNU General Public
7    * License as published by the Free Software Foundation; either
8    * version 2 of the License, or (at your option) any later version.
9    *
10    * This program is distributed in the hope that it will be useful,
11    * but WITHOUT ANY WARRANTY; without even the implied warranty of
12    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13    * GNU General Public License for more details.
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    * Usage of rule for rename bound subject variable.
26    *
27    * @author Michael Meyling
28    */
 
29    public class RenameVo implements Rename {
30   
31    /** Reference to previously proven formula. */
32    private String reference;
33   
34    /** Bound subject variable that will be replaced. */
35    private Element originalSubjectVariable;
36   
37    /** Replacement subject variable. */
38    private Element replacementSubjectVariable;
39   
40    /** This bound occurrence should be replaced. If this value is 0, the replacement position
41    * is not specified. */
42    private int occurrence;
43   
44    /**
45    * Constructs an addition argument.
46    *
47    * @param reference Reference to a valid formula.
48    * @param originalSubjectVariable Bound subject variable that will be replaced.
49    * @param replacementSubjectVariable Replacement subject variable.
50    * @param occurrence This bound occurrence should be replaced. If this
51    * value is 0, the replacement position
52    * is not specified. */
53   
 
54  318 toggle public RenameVo(final String reference, final Element originalSubjectVariable,
55    final Element replacementSubjectVariable, final int occurrence) {
56  318 this.reference = reference;
57  318 this.originalSubjectVariable = originalSubjectVariable;
58  318 this.replacementSubjectVariable = replacementSubjectVariable;
59  318 this.occurrence = occurrence;
60    }
61   
62    /**
63    * Default constructor.
64    */
 
65  368 toggle public RenameVo() {
66    // nothing to do
67    }
68   
 
69  729 toggle public Rename getRename() {
70  729 return this;
71    }
72   
 
73  639 toggle public String getReference() {
74  639 return reference;
75    }
76   
77    /**
78    * Set formula reference.
79    *
80    * @param reference Reference to formula.
81    */
 
82  297 toggle public void setReference(final String reference) {
83  297 this.reference = reference;
84    }
85   
 
86  2 toggle public String[] getReferences() {
87  2 if (reference == null) {
88  1 return ArrayUtils.EMPTY_STRING_ARRAY;
89    }
90  1 return new String[] {reference };
91    }
92   
 
93  426 toggle public int getOccurrence() {
94  426 return occurrence;
95    }
96   
97    /**
98    * Set occurrence of bound subject variable that should be renamed.
99    *
100    * @param occurrence This occurrence should be renamed.
101    */
 
102  250 toggle public void setOccurrence(final int occurrence) {
103  250 this.occurrence = occurrence;
104    }
105   
 
106  2277 toggle public Element getOriginalSubjectVariable() {
107  2277 return originalSubjectVariable;
108    }
109   
110    /**
111    * Set original subject variable, which will be replaced.
112    *
113    * @param originalSubjectVariable Subject variable.
114    */
 
115  299 toggle public void setOriginalSubjectVariable(final Element originalSubjectVariable) {
116  299 this.originalSubjectVariable = originalSubjectVariable;
117    }
118   
 
119  1681 toggle public Element getReplacementSubjectVariable() {
120  1681 return replacementSubjectVariable;
121    }
122   
123    /**
124    * Set new subject variable subject variable.
125    *
126    * @param replacementSubjectVariable New subject variable.
127    */
 
128  277 toggle public void setReplacementSubjectVariable(final Element replacementSubjectVariable) {
129  277 this.replacementSubjectVariable = replacementSubjectVariable;
130    }
131   
 
132  301 toggle public String getName() {
133  301 return "Rename";
134    }
135   
 
136  59 toggle public boolean equals(final Object obj) {
137  59 if (!(obj instanceof RenameVo)) {
138  6 return false;
139    }
140  53 final RenameVo other = (RenameVo) obj;
141  53 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  64 toggle public int hashCode() {
148  64 return (reference != null ? reference.hashCode() : 0)
149  64 ^ (originalSubjectVariable != null ? 2 ^ originalSubjectVariable.hashCode() : 0)
150  64 ^ (replacementSubjectVariable != null ? 3 ^ replacementSubjectVariable.hashCode() : 0)
151    ^ (4 ^ occurrence);
152    }
153   
 
154  144 toggle public String toString() {
155  144 StringBuffer result = new StringBuffer();
156  144 result.append(getName());
157  144 if (reference != null || originalSubjectVariable != null
158    || replacementSubjectVariable != null
159    || occurrence != 0) {
160  127 result.append(" (");
161  127 boolean w = false;
162  127 if (reference != null) {
163  116 result.append(reference);
164  116 w = true;
165    }
166  127 if (originalSubjectVariable != null) {
167  106 if (w) {
168  97 result.append(", ");
169    }
170  106 result.append(originalSubjectVariable);
171  106 w = true;
172    }
173  127 if (replacementSubjectVariable != null) {
174  96 if (w) {
175  95 result.append(", ");
176    }
177  96 result.append("by ");
178  96 result.append(replacementSubjectVariable);
179  96 w = true;
180    }
181  127 if (occurrence != 0) {
182  92 if (w) {
183  91 result.append(", ");
184    }
185  92 result.append("occurrence: ");
186  92 result.append(occurrence);
187  92 w = true;
188    }
189  127 result.append(")");
190    }
191  144 return result.toString();
192    }
193   
194    }