Clover Coverage Report
Coverage timestamp: Sat Sep 18 2010 04:09:52 UTC
../../../../../img/srcFileCovDistChart10.png 0% of files have more coverage
26   101   15   3.71
18   57   0.58   7
7     2.14  
1    
 
  UsedByListVo       Line # 32 26 15 100% 1.0
 
  (25)
 
1    /* This file is part of the project "Hilbert II" - http://www.qedeq.org
2    *
3    * Copyright 2000-2010, 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.dto.module;
17   
18    import java.util.ArrayList;
19    import java.util.List;
20   
21    import org.qedeq.base.utility.EqualsUtility;
22    import org.qedeq.kernel.base.module.Specification;
23    import org.qedeq.kernel.base.module.UsedByList;
24   
25   
26    /**
27    * List of modules which use the current one.
28    *
29    * @version $Revision: 1.9 $
30    * @author Michael Meyling
31    */
 
32    public class UsedByListVo implements UsedByList {
33   
34    /** Contains all list elements. */
35    private final List list;
36   
37    /**
38    * Constructs an empty list of used by modules.
39    */
 
40  128 toggle public UsedByListVo() {
41  128 this.list = new ArrayList();
42   
43    }
44   
45    /**
46    * Add specification of module.
47    *
48    * @param specification Module specification
49    */
 
50  115 toggle public final void add(final SpecificationVo specification) {
51  115 list.add(specification);
52    }
53   
 
54  873 toggle public final int size() {
55  873 return list.size();
56    }
57   
 
58  654 toggle public final Specification get(final int index) {
59  654 return (Specification) list.get(index);
60    }
61   
 
62  78 toggle public boolean equals(final Object obj) {
63  78 if (!(obj instanceof UsedByListVo)) {
64  6 return false;
65    }
66  72 final UsedByListVo otherList = (UsedByListVo) obj;
67  72 if (size() != otherList.size()) {
68  7 return false;
69    }
70  127 for (int i = 0; i < size(); i++) {
71  64 if (!EqualsUtility.equals(get(i), otherList.get(i))) {
72  2 return false;
73    }
74    }
75  63 return true;
76    }
77   
 
78  78 toggle public int hashCode() {
79  78 int hash = 0;
80  166 for (int i = 0; i < size(); i++) {
81  88 hash = hash ^ (i + 1);
82  88 if (get(i) != null) {
83  87 hash = hash ^ get(i).hashCode();
84    }
85    }
86  78 return hash;
87    }
88   
 
89  54 toggle public String toString() {
90  54 final StringBuffer buffer = new StringBuffer("List of modules that use the current one:\n");
91  117 for (int i = 0; i < size(); i++) {
92  63 if (i != 0) {
93  12 buffer.append("\n");
94    }
95  63 buffer.append((i + 1) + ":\t");
96  63 buffer.append(get(i) != null ? get(i).toString() : null);
97    }
98  54 return buffer.toString();
99    }
100   
101    }