1 package org.apidesign.openfixed;
3 /** Sample bean using the {@link ModificationListener}
4 * to <b>add</b> numbers.
6 * @author Jaroslav Tulach <jtulach@netbeans.org>
8 public final class Calculator {
9 private final EventSupport listeners;
12 private Calculator(EventSupport listeners) {
13 this.listeners = listeners;
16 public static Calculator create() {
17 return new Calculator(new TrivialEventSupport());
20 public static Calculator createAsynch() {
21 return new Calculator(new AsyncEventSupport());
25 public static Calculator createPending() {
26 return new Calculator(new PendingEventSupport());
30 public static Calculator createBatch() {
31 return new Calculator(new PostEventSupport());
34 public synchronized void add(int add) {
36 listeners.fireModificationEvent(new ModificationEvent(this, add));
39 public synchronized int getSum() {
43 public void addModificationListener(ModificationListener l) {
46 public void removeModificationListener(ModificationListener l) {