EMMA Coverage Report (generated Sun Feb 05 10:43:15 CET 2012)
[all classes][desmoj.core.report]

COVERAGE SUMMARY FOR SOURCE FILE [ReportManager.java]

nameclass, %method, %block, %line, %
ReportManager.java0%   (0/1)0%   (0/6)0%   (0/92)0%   (0/25)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ReportManager0%   (0/1)0%   (0/6)0%   (0/92)0%   (0/25)
ReportManager (String): void 0%   (0/1)0%   (0/16)0%   (0/3)
addLast (Reporter): void 0%   (0/1)0%   (0/9)0%   (0/4)
deRegister (Reporter): void 0%   (0/1)0%   (0/9)0%   (0/4)
elements (): List 0%   (0/1)0%   (0/6)0%   (0/1)
isEmpty (): boolean 0%   (0/1)0%   (0/4)0%   (0/1)
register (Reporter): void 0%   (0/1)0%   (0/48)0%   (0/12)

1package desmoj.core.report;
2 
3import java.util.ArrayList;
4import java.util.List;
5 
6import desmoj.core.simulator.NamedObject;
7 
8/**
9 * Controls all reports given by reportable model components used during an
10 * experiment.
11 * 
12 * @version DESMO-J, Ver. 2.3.3 copyright (c) 2011
13 * @author Tim Lechler
14 * 
15 * Licensed under the Apache License, Version 2.0 (the "License");
16 * you may not use this file except in compliance with the License. You
17 * may obtain a copy of the License at
18 * http://www.apache.org/licenses/LICENSE-2.0
19 *
20 * Unless required by applicable law or agreed to in writing, software
21 * distributed under the License is distributed on an "AS IS"
22 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
23 * or implied. See the License for the specific language governing
24 * permissions and limitations under the License.
25 *
26 */
27public class ReportManager extends NamedObject {
28 
29        /**
30         * Keeps references to all Reporters of this experiment
31         */
32        private ArrayList<Reporter> _reporters;
33 
34        /**
35         * Creates a new reportmanager with the given name.
36         * 
37         * @param name
38         *            java.lang.String : the reportmanager's name
39         */
40        public ReportManager(String name) {
41 
42                super(name + "_ReportManager"); // create the NamedObject
43 
44                _reporters = new ArrayList<Reporter>(); // init list for reporters
45 
46        }
47 
48        /**
49         * Adds a report to the very end of the vector hanlded by this
50         * reportmanager. This is needed to place submodel reporters behind existing
51         * model reporters to prevent multiple models to be mixed.
52         * 
53         * @param r
54         *            desmoj.report.Reporter
55         */
56        public void addLast(Reporter r) {
57 
58                if (r == null)
59                        return;
60                else
61                        _reporters.add(r);
62 
63        }
64 
65        /**
66         * De-registers the given reporter from the experiment's reportmanager. The
67         * reporter will be removed from the list of current available reporters and
68         * thus will not produce output whenever a report has to be produced. When
69         * de-registering, the order according to group-ID is preserved. If an
70         * invalid parameter is given (i.e. a <code>null</code> reference) this
71         * method simply returns
72         * 
73         * @param rep
74         *            desmoj.report.Reporter : The reporter to be de-registered
75         */
76        public void deRegister(Reporter rep) {
77 
78                // check parameter
79                if (rep == null)
80                        return; // wrong parameters ???
81                _reporters.remove(rep); // no check if contained or not
82                // necessary
83 
84        }
85 
86        /**
87         * Returns a list view of all registered reporters in the appropriate
88         * order.
89         * 
90         * @return java.util.List : The list of reporters
91         *         registered at the reportmanager
92         */
93        public List<Reporter> elements() {
94 
95                return new ArrayList<Reporter>(_reporters);
96 
97        }
98 
99        /**
100         * Returns a boolean value indicating whether this reportmanager contains
101         * reporters to be sent to the reportoutput or not.
102         * 
103         * @return boolean : Is <code>true</code> if the reportmanager conatains
104         *         reporters, <code>false</code> otherwise
105         */
106        public boolean isEmpty() {
107 
108                return _reporters.isEmpty();
109 
110        }
111 
112        /**
113         * Registers the given reporter at the experiment's reportmanager. All
114         * reporters registered will be sent to the reportout whenever a report has
115         * to be produced. When registering, the order according to group-ID is
116         * preserved.
117         * 
118         * @param rep
119         *            desmoj.report.Reporter : The reporter to be registered
120         */
121        public void register(Reporter rep) {
122 
123                // check parameter
124                if (rep == null)
125                        return; // wrong parameter
126 
127                if (_reporters.contains(rep))
128                        return; // already listed
129 
130                // register rep with special care for fist element
131                if (_reporters.isEmpty())
132                        _reporters.add(rep);
133                else {
134 
135                        for (int i = 0; i < _reporters.size(); i++) {
136 
137                                if (Reporter.isLarger(rep, _reporters.get(i))) {
138                                        _reporters.add(i, rep);
139                                        return;
140                                }
141 
142                        }
143 
144                        // if come to here, it must be smaller than all other reporters in
145                        // vector
146                        _reporters.add(rep);
147 
148                }
149 
150        }
151}

[all classes][desmoj.core.report]
EMMA 2.0.9414 (unsupported private build) (C) Vladimir Roubtsov