summaryrefslogtreecommitdiff
path: root/src/provider/CompositeResultListener.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/provider/CompositeResultListener.java')
-rw-r--r--src/provider/CompositeResultListener.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/provider/CompositeResultListener.java b/src/provider/CompositeResultListener.java
index dc4a754..64a8a0b 100644
--- a/src/provider/CompositeResultListener.java
+++ b/src/provider/CompositeResultListener.java
@@ -1,8 +1,12 @@
package provider;
import java.io.Closeable;
+import java.io.Flushable;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import org.apache.commons.io.IOUtils;
import org.json.JSONObject;
@@ -11,7 +15,8 @@ import org.json.JSONObject;
*
* @author Peter Wu
*/
-public class CompositeResultListener implements ResultListener, Closeable {
+public class CompositeResultListener implements ResultListener, Closeable,
+ Flushable {
private final List<ResultListener> listeners;
@@ -55,4 +60,17 @@ public class CompositeResultListener implements ResultListener, Closeable {
}
}
}
+
+ public void flush() {
+ for (ResultListener rl : listeners) {
+ if (rl instanceof Flushable) {
+ try {
+ ((Flushable) rl).flush();
+ } catch (IOException ex) {
+ Logger.getLogger(rl.getClass().getName())
+ .log(Level.SEVERE, "flush", ex);
+ }
+ }
+ }
+ }
}