01: /*
02: * Hammurapi
03: * Automated Java code review system.
04: * Copyright (C) 2004 Hammurapi Group
05: *
06: * This program is free software; you can redistribute it and/or modify
07: * it under the terms of the GNU General Public License as published by
08: * the Free Software Foundation; either version 2 of the License, or
09: * (at your option) any later version.
10: *
11: * This program is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: * GNU General Public License for more details.
15: *
16: * You should have received a copy of the GNU General Public License
17: * along with this program; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19: *
20: * URL: http://www.hammurapi.org
21: * e-Mail: support@hammurapi.biz
22: */
23:
24: package org.hammurapi.results.simple;
25:
26: import java.util.ArrayList;
27: import java.util.Collection;
28: import java.util.Collections;
29: import java.util.Iterator;
30:
31: import org.hammurapi.WaiverSet;
32: import org.hammurapi.results.AggregatedResults;
33: import org.hammurapi.results.CompositeResults;
34:
35: /**
36: *
37: * @author Pavel Vlasov
38: * @version $Revision: 1.2 $
39: */
40: public class SimpleCompositeResults extends SimpleDetailedResults
41: implements CompositeResults {
42: /**
43: * Comment for <code>serialVersionUID</code>
44: */
45: private static final long serialVersionUID = -2179448002856899900L;
46: private Collection children = new ArrayList();
47:
48: public Collection getChildren() {
49: return Collections.unmodifiableCollection(children);
50: }
51:
52: public void add(AggregatedResults child) {
53: aggregate(child);
54: children.add(child);
55: }
56:
57: SimpleCompositeResults(String name, WaiverSet waiverSet) {
58: super (name, waiverSet);
59: }
60:
61: public int size() {
62: int ret = 0;
63: Iterator it = children.iterator();
64: while (it.hasNext()) {
65: Object child = it.next();
66: ret++;
67: if (child instanceof CompositeResults) {
68: ret += ((CompositeResults) child).size();
69: }
70: }
71: return ret;
72: }
73: }
|