ObservableStore.java
import java.util.Observable;
import store.*;
abstract public class ObservableStore extends Observable implements STORE, Cloneable {
STORE store;
public void add(Object o) {
store.add(o);
setChanged();
notifyObservers(new Notification("added",o));
}
public boolean isEmpty() {return store.isEmpty();}
public void addAll(Object[] a) {
store.addAll(a);
setChanged();
notifyObservers(new Notification("addedAll",a));
};
public Object remove() {
if (store.isEmpty()) return null;
Object obj = store.remove();
setChanged();
notifyObservers(new Notification("removed",obj));
return obj;
}
public String toString (){return store.toString();}
public void execute(FUNCTION f) { store.execute(f); }
public STORE map(FUNCTION f) {
ObservableStore obsstore = null;
try {obsstore = (ObservableStore)this.clone();}
catch (Exception e) {new InternalError(e.getMessage());}
obsstore.store = store.map(f);
return obsstore;
}
public int size() { return store.size(); }
}
On to ObservableStack.java Part of obsstore
Hubert BaumeisterJune 21, 1997
Imprint | Data Protection