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 [SpecificationVo.java]

nameclass, %method, %block, %line, %
SpecificationVo.java100% (1/1)100% (11/11)100% (117/117)100% (22/22)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SpecificationVo100% (1/1)100% (11/11)100% (117/117)100% (22/22)
SpecificationVo (): void 100% (1/1)100% (3/3)100% (2/2)
SpecificationVo (String, String, LocationList): void 100% (1/1)100% (12/12)100% (5/5)
equals (Object): boolean 100% (1/1)100% (30/30)100% (4/4)
getLocationList (): LocationList 100% (1/1)100% (3/3)100% (1/1)
getName (): String 100% (1/1)100% (3/3)100% (1/1)
getRuleVersion (): String 100% (1/1)100% (3/3)100% (1/1)
hashCode (): int 100% (1/1)100% (31/31)100% (1/1)
setLocationList (LocationListVo): void 100% (1/1)100% (4/4)100% (2/2)
setName (String): void 100% (1/1)100% (4/4)100% (2/2)
setRuleVersion (String): void 100% (1/1)100% (4/4)100% (2/2)
toString (): String 100% (1/1)100% (20/20)100% (1/1)

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.qedeq.base.utility.EqualsUtility;
19import org.qedeq.kernel.se.base.module.LocationList;
20import org.qedeq.kernel.se.base.module.Specification;
21 
22 
23/**
24 * Describes a specification of a module, that means its name, versions and possible
25 * "physical" locations.
26 * The combination of {@link #getName()} and {@link #getRuleVersion()} defines the
27 * file name of that module.
28 *
29 * @author  Michael Meyling
30 */
31public class SpecificationVo implements Specification {
32 
33    /** Module name. */
34    private String name;
35 
36    /** Rule version, that is needed to verify the module. */
37    private String ruleVersion;
38 
39    /** List of locations for the module. */
40    private LocationList locationList;
41 
42    /**
43     * Constructs a module specification. The combination of <code>name</code> and
44     * <code>ruleVersion</code> defines the file name of that module.
45     *
46     * @param   name        Module name.
47     * @param   ruleVersion Rule version. This version is at least needed to verify that module.
48     * @param   locations   List of locations for that module.
49     */
50    public SpecificationVo(final String name, final String ruleVersion,
51            final LocationList locations) {
52        this.name = name;
53        this.ruleVersion = ruleVersion;
54        this.locationList = locations;
55    }
56 
57    /**
58     * Constructs an empty module specification.
59     */
60    public SpecificationVo() {
61        // nothing to do
62    }
63 
64    public final void setName(final String name) {
65       this.name = name;
66    }
67 
68    public final String getName() {
69       return name;
70    }
71 
72    public final void setRuleVersion(final String ruleVersion) {
73        this.ruleVersion = ruleVersion;
74    }
75 
76    public final String getRuleVersion() {
77        return ruleVersion;
78    }
79 
80    /**
81     * Set list of locations for the module.
82     *
83     * @param   locations   List of locations for that module.
84     */
85    public final void setLocationList(final LocationListVo locations) {
86        this.locationList = locations;
87    }
88 
89    public final LocationList getLocationList() {
90        return locationList;
91    }
92 
93    public boolean equals(final Object obj) {
94        if (!(obj instanceof SpecificationVo)) {
95            return false;
96        }
97        final SpecificationVo other = (SpecificationVo) obj;
98        return  EqualsUtility.equals(getName(), other.getName())
99            &&  EqualsUtility.equals(getRuleVersion(), other.getRuleVersion())
100            &&  EqualsUtility.equals(getLocationList(), other.getLocationList());
101    }
102 
103    public int hashCode() {
104        return (getName() != null ? getName().hashCode() : 0)
105            ^ (getRuleVersion() != null ? 1 ^ getRuleVersion().hashCode() : 0)
106            ^ (getLocationList() != null ? 1 ^ getLocationList().hashCode() : 0);
107    }
108 
109    public String toString() {
110        return "Name: " + name + ", Rule Version: " + ruleVersion + "\n" + locationList;
111    }
112 
113}

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