Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24505/src/net/sourceforge/bprocessor/model
Modified Files:
Selection.java
Log Message:
- Selection.iterator()
- Observer interface for selection
Index: Selection.java
===================================================================
RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Selection.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Selection.java 6 Jan 2006 10:03:49 -0000 1.2
--- Selection.java 6 Jan 2006 10:31:56 -0000 1.3
***************
*** 10,13 ****
--- 10,16 ----
import java.util.Collection;
import java.util.HashSet;
+ import java.util.Iterator;
+ import java.util.LinkedList;
+ import java.util.List;
/**
***************
*** 20,23 ****
--- 23,29 ----
private Collection selection;
+ /** The observers */
+ private List observers;
+
/** The primary selection */
private static Selection primary = new Selection();
***************
*** 37,40 ****
--- 43,56 ----
super();
selection = new HashSet();
+ observers = new LinkedList();
+ }
+
+ /**
+ * Return true if object is contained in this Selection
+ * @param object The object
+ * @return True if object is contained in this Selection
+ */
+ public boolean contains(Object object) {
+ return selection.contains(object);
}
***************
*** 45,48 ****
--- 61,65 ----
public void add(Object object) {
selection.add(object);
+ changed();
}
***************
*** 53,65 ****
public void remove(Object object) {
selection.remove(object);
! }
!
! /**
! * Return true if object is contained in this Selection
! * @param object The object
! * @return True if object is contained in this Selection
! */
! public boolean contains(Object object) {
! return selection.contains(object);
}
--- 70,74 ----
public void remove(Object object) {
selection.remove(object);
! changed();
}
***************
*** 69,72 ****
--- 78,82 ----
public void clear() {
selection.clear();
+ changed();
}
***************
*** 78,83 ****
--- 88,130 ----
clear();
add(object);
+ changed();
}
+ /**
+ * Return an iterator
+ * @return An iterator
+ */
+ public Iterator iterator() {
+ return selection.iterator();
+ }
+
+ /**
+ * Add observer
+ * @param observer The observer
+ */
+ public void addObserver(Observer observer) {
+ observers.add(observer);
+ }
+
+ /**
+ * Remove observer
+ * @param observer The observer
+ */
+ public void removeObserver(Observer observer) {
+ observers.remove(observer);
+ }
+
+ /**
+ * Tell observers to update because this selection has changed
+ */
+ public void changed() {
+ Iterator iter = observers.iterator();
+ while (iter.hasNext()) {
+ Observer current = (Observer) iter.next();
+ current.update(this);
+ }
+ }
+
+
}
|