Revision 46905 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/editing/memory/MemoryExpansionAdapter.java
MemoryExpansionAdapter.java | ||
---|---|---|
23 | 23 |
*/ |
24 | 24 |
package org.gvsig.fmap.dal.feature.impl.editing.memory; |
25 | 25 |
|
26 |
import org.gvsig.fmap.dal.feature.impl.editing.memory.ExpansionAdapter; |
|
27 | 26 |
import java.util.ArrayList; |
28 | 27 |
import java.util.HashMap; |
29 | 28 |
import java.util.Iterator; |
... | ... | |
105 | 104 |
} |
106 | 105 |
|
107 | 106 |
public Iterator iterator() { |
108 |
return objects.iterator(); |
|
107 |
// No podemos usar objects.iterator ya que se est? a?adiendo elementos |
|
108 |
// a la lista mientras se itera sobre ella |
|
109 |
// y fallar?a con un ConcurrentModificationException. |
|
110 |
// Esta implementaci?n es resistente a la comodificaci?n ya nunca se eliminan elementos de objects |
|
111 |
return new Iterator() { |
|
112 |
int i = 0; |
|
113 |
@Override |
|
114 |
public boolean hasNext() { |
|
115 |
return i < objects.size(); |
|
116 |
} |
|
117 |
|
|
118 |
@Override |
|
119 |
public Object next() { |
|
120 |
return objects.get(i++); |
|
121 |
} |
|
122 |
}; |
|
109 | 123 |
} |
110 | 124 |
} |
Also available in: Unified diff