package com.googlecode.jslint4java.maven; import java.util.Arrays; import java.util.List; import com.google.common.io.Closeables; import com.googlecode.jslint4java.JSLintResult; /** * Allow writing the same result to multiple places at once. * <p> * TODO: figure out exception handling */ public class MultiReportWriter implements ReportWriter { private final List<ReportWriter> reportWriters; /** Send a report to all passed in ReportWriters. */ public MultiReportWriter(ReportWriter... reportWriters) { this.reportWriters = Arrays.asList(reportWriters); } /** Close all contained ReportWriters. */ public void close() { for (ReportWriter reportWriter : reportWriters) { Closeables.closeQuietly(reportWriter); } } /** Open all contained ReportWriters. */ public void open() { for (ReportWriter reportWriter : reportWriters) { reportWriter.open(); } } /** Report on this result for each reportWriter. */ public void report(JSLintResult result) { for (ReportWriter reportWriter : reportWriters) { reportWriter.report(result); } } }