Revision 46236 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/FeatureManager.java
FeatureManager.java | ||
---|---|---|
42 | 42 |
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureRules; |
43 | 43 |
import org.gvsig.fmap.dal.feature.impl.featurereference.FeatureReferenceFactory; |
44 | 44 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider; |
45 |
import org.gvsig.tools.util.Rewind; |
|
46 |
import org.gvsig.tools.util.Size; |
|
45 | 47 |
|
46 | 48 |
@SuppressWarnings("UseSpecificCatch") |
47 | 49 |
public class FeatureManager { |
... | ... | |
326 | 328 |
return new InsertedFeaturesIterator(); |
327 | 329 |
} |
328 | 330 |
|
329 |
private class InsertedFeaturesIterator implements Iterator<EditableFeature> { |
|
331 |
private class InsertedFeaturesIterator implements Iterator<EditableFeature>, Size, Rewind {
|
|
330 | 332 |
|
331 |
private final Iterator addedIter;
|
|
333 |
private Iterator addedIter; |
|
332 | 334 |
private EditableFeature feature; |
333 | 335 |
private Boolean hasnext = null; |
334 | 336 |
|
... | ... | |
368 | 370 |
addedIter.remove(); |
369 | 371 |
} |
370 | 372 |
|
373 |
@Override |
|
374 |
public int size() { |
|
375 |
return added.size(); |
|
376 |
} |
|
377 |
|
|
378 |
@Override |
|
379 |
public void rewind() { |
|
380 |
addedIter = added.values().iterator(); |
|
381 |
hasnext = null; |
|
382 |
} |
|
383 |
|
|
371 | 384 |
} |
372 | 385 |
|
373 | 386 |
public List<FeatureReference> getAddedAndUpdatedFeatures() { |
... | ... | |
423 | 436 |
}; |
424 | 437 |
} |
425 | 438 |
|
426 |
private class UpdatedFeaturesIterator implements Iterator<EditableFeature> { |
|
439 |
private class UpdatedFeaturesIterator implements Iterator<EditableFeature>, Size, Rewind {
|
|
427 | 440 |
|
428 | 441 |
private Boolean hasnext = null; |
429 |
private final Iterator iter;
|
|
442 |
private Iterator iter; |
|
430 | 443 |
private EditableFeature feature; |
431 | 444 |
private int pos; |
432 | 445 |
|
... | ... | |
467 | 480 |
@Override |
468 | 481 |
public void remove() { |
469 | 482 |
throw new UnsupportedOperationException(); |
470 |
|
|
471 | 483 |
} |
484 |
|
|
485 |
@Override |
|
486 |
public int size() { |
|
487 |
return expansionAdapter.getSize(); |
|
488 |
} |
|
489 |
|
|
490 |
@Override |
|
491 |
public void rewind() { |
|
492 |
iter = expansionAdapter.iterator(); |
|
493 |
pos = -1; |
|
494 |
hasnext = null; |
|
495 |
} |
|
472 | 496 |
} |
473 | 497 |
|
474 | 498 |
public boolean hasNews() { |
Also available in: Unified diff