EMMA Coverage Report (generated Fri Feb 14 08:28:31 UTC 2014)
[all classes][org.qedeq.kernel.se.dto.module]

COVERAGE SUMMARY FOR SOURCE FILE [RenameVo.java]

nameclass, %method, %block, %line, %
RenameVo.java100% (1/1)100% (16/16)100% (234/234)100% (57/57)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class RenameVo100% (1/1)100% (16/16)100% (234/234)100% (57/57)
RenameVo (): void 100% (1/1)100% (3/3)100% (2/2)
RenameVo (String, Element, Element, int): void 100% (1/1)100% (15/15)100% (6/6)
equals (Object): boolean 100% (1/1)100% (35/35)100% (4/4)
getName (): String 100% (1/1)100% (2/2)100% (1/1)
getOccurrence (): int 100% (1/1)100% (3/3)100% (1/1)
getOriginalSubjectVariable (): Element 100% (1/1)100% (3/3)100% (1/1)
getReference (): String 100% (1/1)100% (3/3)100% (1/1)
getReferences (): String [] 100% (1/1)100% (13/13)100% (3/3)
getRename (): Rename 100% (1/1)100% (2/2)100% (1/1)
getReplacementSubjectVariable (): Element 100% (1/1)100% (3/3)100% (1/1)
hashCode (): int 100% (1/1)100% (36/36)100% (1/1)
setOccurrence (int): void 100% (1/1)100% (4/4)100% (2/2)
setOriginalSubjectVariable (Element): void 100% (1/1)100% (4/4)100% (2/2)
setReference (String): void 100% (1/1)100% (4/4)100% (2/2)
setReplacementSubjectVariable (Element): void 100% (1/1)100% (4/4)100% (2/2)
toString (): String 100% (1/1)100% (100/100)100% (27/27)

1/* This file is part of the project "Hilbert II" - http://www.qedeq.org
2 *
3 * Copyright 2000-2014,  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 
16package org.qedeq.kernel.se.dto.module;
17 
18import org.apache.commons.lang.ArrayUtils;
19import org.qedeq.base.utility.EqualsUtility;
20import org.qedeq.kernel.se.base.list.Element;
21import 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 */
29public 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    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     * Default constructor.
64     */
65    public RenameVo() {
66        // nothing to do
67    }
68 
69    public Rename getRename() {
70        return this;
71    }
72 
73    public String getReference() {
74        return reference;
75    }
76 
77    /**
78     * Set formula reference.
79     *
80     * @param   reference   Reference to formula.
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     * Set occurrence of bound subject variable that should be renamed.
99     *
100     * @param   occurrence  This occurrence should be renamed.
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     * Set original subject variable, which will be replaced.
112     *
113     * @param   originalSubjectVariable     Subject variable.
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     * Set new subject variable subject variable.
125     *
126     * @param   replacementSubjectVariable  New subject variable.
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}

[all classes][org.qedeq.kernel.se.dto.module]
EMMA 2.1.5320 (stable) (C) Vladimir Roubtsov