1.1 --- a/mdr/src/org/netbeans/mdr/handlers/AEIndexUListWrapper.java Tue May 13 23:59:30 2003 +0000
1.2 +++ b/mdr/src/org/netbeans/mdr/handlers/AEIndexUListWrapper.java Sat May 17 14:46:39 2003 +0000
1.3 @@ -206,6 +206,14 @@
1.4 // return new ListWrapper(((List) innerList).subList(param, param1), source);
1.5 }
1.6
1.7 + public boolean equals(Object object) {
1.8 + if (object instanceof List) {
1.9 + return super.equals(object);
1.10 + } else {
1.11 + return false;
1.12 + }
1.13 + }
1.14 +
1.15 protected class AEIndexListIteratorWrapper extends AEIndexIteratorWrapper implements ListIterator {
1.16 private final ListIterator listIterator;
1.17 private int lastReadIndex = 0;
2.1 --- a/mdr/src/org/netbeans/mdr/handlers/AttrImmutCollWrapper.java Tue May 13 23:59:30 2003 +0000
2.2 +++ b/mdr/src/org/netbeans/mdr/handlers/AttrImmutCollWrapper.java Sat May 17 14:46:39 2003 +0000
2.3 @@ -105,6 +105,39 @@
2.4 }
2.5 }
2.6
2.7 + public boolean equals(Object object) {
2.8 + if (object == this) return true;
2.9 + if (!(object instanceof Collection)) return false;
2.10 + try {
2.11 + lock(false);
2.12 + Iterator it1 = iterator();
2.13 + Iterator it2 = ((Collection) object).iterator();
2.14 + while(it1.hasNext() && it2.hasNext()) {
2.15 + Object o1 = it1.next();
2.16 + Object o2 = it2.next();
2.17 + if (!(o1==null ? o2==null : o1.equals(o2)))
2.18 + return false;
2.19 + }
2.20 + return !(it1.hasNext() || it2.hasNext());
2.21 + } finally {
2.22 + unlock();
2.23 + }
2.24 + }
2.25 +
2.26 + public int hashCode() {
2.27 + lock(false);
2.28 + try {
2.29 + int hashCode = 1;
2.30 + for (Iterator it = iterator(); it.hasNext();) {
2.31 + Object obj = it.next();
2.32 + hashCode = 31*hashCode + (obj==null ? 0 : obj.hashCode());
2.33 + }
2.34 + return hashCode;
2.35 + } finally {
2.36 + unlock();
2.37 + }
2.38 + }
2.39 +
2.40 public boolean addAll(Collection collection) {
2.41 throw new UnsupportedOperationException();
2.42 }
3.1 --- a/mdr/src/org/netbeans/mdr/handlers/AttrImmutListWrapper.java Tue May 13 23:59:30 2003 +0000
3.2 +++ b/mdr/src/org/netbeans/mdr/handlers/AttrImmutListWrapper.java Sat May 17 14:46:39 2003 +0000
3.3 @@ -101,6 +101,14 @@
3.4 }
3.5 }
3.6
3.7 + public boolean equals(Object object) {
3.8 + if (object instanceof List) {
3.9 + return super.equals(object);
3.10 + } else {
3.11 + return false;
3.12 + }
3.13 + }
3.14 +
3.15 private final class AttrImmutListIteratorWrapper extends AttrImmutIteratorWrapper implements ListIterator {
3.16 private final ListIterator innerListIterator;
3.17
4.1 --- a/mdr/src/org/netbeans/mdr/handlers/AttrListWrapper.java Tue May 13 23:59:30 2003 +0000
4.2 +++ b/mdr/src/org/netbeans/mdr/handlers/AttrListWrapper.java Sat May 17 14:46:39 2003 +0000
4.3 @@ -155,6 +155,14 @@
4.4 }
4.5 }
4.6
4.7 + public boolean equals(Object object) {
4.8 + if (object instanceof List) {
4.9 + return super.equals(object);
4.10 + } else {
4.11 + return false;
4.12 + }
4.13 + }
4.14 +
4.15 private final class AttrListIteratorWrapper extends AttrIteratorWrapper implements ListIterator {
4.16 private final ListIterator innerListIterator;
4.17 protected int lastReadIndex = 0;
5.1 --- a/mdr/src/org/netbeans/mdr/handlers/IndexSetWrapper.java Tue May 13 23:59:30 2003 +0000
5.2 +++ b/mdr/src/org/netbeans/mdr/handlers/IndexSetWrapper.java Sat May 17 14:46:39 2003 +0000
5.3 @@ -145,6 +145,39 @@
5.4 }
5.5 }
5.6
5.7 + public boolean equals(Object object) {
5.8 + if (object == this) return true;
5.9 + if (!(object instanceof Collection)) return false;
5.10 + try {
5.11 + lock(false);
5.12 + Iterator it1 = iterator();
5.13 + Iterator it2 = ((Collection) object).iterator();
5.14 + while(it1.hasNext() && it2.hasNext()) {
5.15 + Object o1 = it1.next();
5.16 + Object o2 = it2.next();
5.17 + if (!(o1==null ? o2==null : o1.equals(o2)))
5.18 + return false;
5.19 + }
5.20 + return !(it1.hasNext() || it2.hasNext());
5.21 + } finally {
5.22 + unlock();
5.23 + }
5.24 + }
5.25 +
5.26 + public int hashCode() {
5.27 + lock(false);
5.28 + try {
5.29 + int hashCode = 1;
5.30 + for (Iterator it = iterator(); it.hasNext();) {
5.31 + Object obj = it.next();
5.32 + hashCode = 31*hashCode + (obj==null ? 0 : obj.hashCode());
5.33 + }
5.34 + return hashCode;
5.35 + } finally {
5.36 + unlock();
5.37 + }
5.38 + }
5.39 +
5.40 public Object[] toArray() {
5.41 return toArray(new Object[size()]);
5.42 }