home *** CD-ROM | disk | FTP | other *** search
- package java.util;
-
- public class Observable {
- private boolean changed = false;
- private Vector obs = new Vector();
- private Observer[] arr = new Observer[2];
-
- public synchronized void addObserver(Observer var1) {
- if (!this.obs.contains(var1)) {
- this.obs.addElement(var1);
- }
-
- }
-
- public synchronized void deleteObserver(Observer var1) {
- this.obs.removeElement(var1);
- }
-
- public void notifyObservers() {
- this.notifyObservers((Object)null);
- }
-
- public void notifyObservers(Object var1) {
- int var2 = 0;
- synchronized(this){}
-
- try {
- if (!this.hasChanged()) {
- return;
- }
-
- var2 = this.obs.size();
- if (var2 > this.arr.length) {
- this.arr = new Observer[var2];
- }
-
- this.obs.copyInto(this.arr);
- this.clearChanged();
- } catch (Throwable var6) {
- throw var6;
- }
-
- for(int var3 = var2 - 1; var3 >= 0; --var3) {
- if (this.arr[var3] != null) {
- this.arr[var3].update(this, var1);
- }
- }
-
- }
-
- public synchronized void deleteObservers() {
- this.obs.removeAllElements();
- }
-
- protected synchronized void setChanged() {
- this.changed = true;
- }
-
- protected synchronized void clearChanged() {
- this.changed = false;
- }
-
- public synchronized boolean hasChanged() {
- return this.changed;
- }
-
- public synchronized int countObservers() {
- return this.obs.size();
- }
- }
-