001    package com.hammurapi.review;
002    
003    import java.util.ArrayList;
004    import java.util.Collection;
005    import java.util.HashMap;
006    import java.util.List;
007    import java.util.Map;
008    
009    import com.hammurapi.review.Module;
010    
011    public class Summary extends Aggregator {
012            
013            private Map<String, ModuleAggregator> modules = new HashMap<String, ModuleAggregator>();
014            private List<Exception> exceptions = new ArrayList<Exception>();
015            
016            public ObservationSink getObservationSink(Module module) {
017                    ModuleAggregator ret = modules.get(module.getName());
018                    if (ret==null) {
019                            ret = new ModuleAggregator(module, this);
020                            modules.put(module.getName(), ret);
021                    }
022                    return ret;
023            }
024            
025            public void onException(Exception e) {
026                    exceptions.add(e);              
027            }
028    
029            public List<Exception> getExceptions() {
030                    return exceptions;
031            }
032            
033            public Collection<ModuleAggregator> getModules() {
034                    return modules.values();
035            }
036            
037    }