1.1 --- a/samples/openfixed/src/org/apidesign/openfixed/AsyncEventSupport.java Sun Mar 20 18:52:47 2011 +0100
1.2 +++ b/samples/openfixed/src/org/apidesign/openfixed/AsyncEventSupport.java Sun Mar 20 20:52:33 2011 +0100
1.3 @@ -11,16 +11,9 @@
1.4 */
1.5 final class AsyncEventSupport implements EventSupport {
1.6 private final List<ModificationListener> listeners = new CopyOnWriteArrayList<ModificationListener>();
1.7 - private static final Executor EXEC = Executors.newSingleThreadExecutor();
1.8
1.9 AsyncEventSupport() {
1.10 }
1.11 -
1.12 - @Override
1.13 - public void fireModificationEvent(ModificationEvent ev) {
1.14 - EXEC.execute(new Deliverable(ev, listeners.toArray(new ModificationListener[0])));
1.15 - }
1.16 -
1.17 @Override
1.18 public void add(ModificationListener l) {
1.19 listeners.add(l);
1.20 @@ -30,12 +23,23 @@
1.21 public void remove(ModificationListener l) {
1.22 listeners.remove(l);
1.23 }
1.24 +
1.25 + // BEGIN: openfixed.asynch
1.26 + private static final Executor EXEC = Executors.newSingleThreadExecutor();
1.27 + @Override
1.28 + public void fireModificationEvent(ModificationEvent ev) {
1.29 + EXEC.execute(new Deliverable(
1.30 + ev, listeners.toArray(new ModificationListener[0])
1.31 + ));
1.32 + }
1.33
1.34 private static class Deliverable implements Runnable {
1.35 final ModificationEvent ev;
1.36 final ModificationListener[] listeners;
1.37
1.38 - public Deliverable(ModificationEvent ev, ModificationListener[] listeners) {
1.39 + public Deliverable(
1.40 + ModificationEvent ev, ModificationListener[] listeners
1.41 + ) {
1.42 this.ev = ev;
1.43 this.listeners = listeners;
1.44 }
1.45 @@ -47,4 +51,5 @@
1.46 }
1.47 }
1.48 }
1.49 + // END: openfixed.asynch
1.50 }