001 package com.hammurapi.review;
002
003 import java.util.ArrayList;
004 import java.util.Collection;
005
006
007 public class CompositeObservationSink implements ObservationSink {
008
009 private Collection<ObservationSink> sinks = new ArrayList<ObservationSink>();
010
011 public synchronized void addSink(ObservationSink sink) {
012 sinks.add(sink);
013 }
014
015 @Override
016 public synchronized void close() throws ReviewException {
017 for (ObservationSink sink: sinks) {
018 sink.close();
019 }
020 }
021
022 @Override
023 public synchronized void consumeObservation(Observation observation) throws ReviewException {
024 for (ObservationSink sink: sinks) {
025 sink.consumeObservation(observation);
026 }
027 }
028
029 }