From 9742d69c56ef0866ca8b22696746b756e0670c81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Thu, 16 Feb 2012 15:10:00 +0100 Subject: Add manual performWork() in WorkQueue for testing. --- same/src/main/java/com/orbekk/util/WorkQueue.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/same/src/main/java/com/orbekk/util/WorkQueue.java b/same/src/main/java/com/orbekk/util/WorkQueue.java index 4eb54f5..2fb2c88 100644 --- a/same/src/main/java/com/orbekk/util/WorkQueue.java +++ b/same/src/main/java/com/orbekk/util/WorkQueue.java @@ -38,6 +38,18 @@ abstract public class WorkQueue extends Thread implements List { * Called until the queue is empty. */ protected abstract void onChange(); + + /** + * Perform work until the queue is empty. + * + * Can be used for testing or for combining several WorkQueues in + * a single thread. + */ + public synchronized void performWork() { + while (!isEmpty()) { + onChange(); + } + } @Override public void run() { -- cgit v1.2.3