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 // BEGIN: openfixed.bean
9 public final class Calculator {
10 private final EventSupport listeners;
13 private Calculator(EventSupport listeners) {
14 this.listeners = listeners;
17 public static Calculator create() {
18 return new Calculator(new TrivialEventSupport());
21 public static Calculator createAsynch() {
22 return new Calculator(new AsyncEventSupport());
26 public static Calculator createPending() {
27 return new Calculator(new PendingEventSupport());
31 public static Calculator createBatch() {
32 return new Calculator(new PostEventSupport());
35 public synchronized void add(int add) {
37 listeners.fireModificationEvent(new ModificationEvent(this, add));
40 public synchronized int getSum() {
44 public void addModificationListener(ModificationListener l) {
47 public void removeModificationListener(ModificationListener l) {
51 // END: openfixed.bean