Revision 45195 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/featureset/AbstractFeatureSet.java
AbstractFeatureSet.java | ||
---|---|---|
50 | 50 |
extends AbstractIndexedVisitable |
51 | 51 |
implements FeatureSet { |
52 | 52 |
|
53 |
private static class DisposableSetIteratorImpl implements DisposableSetIterator {
|
|
53 |
private static class DisposableFeatureSetIterableImpl implements DisposableFeatureSetIterable {
|
|
54 | 54 |
|
55 | 55 |
private final FeatureSet fset; |
56 | 56 |
private final DisposableIterator it; |
57 | 57 |
|
58 |
public DisposableSetIteratorImpl(FeatureSet fset, DisposableIterator it) {
|
|
58 |
public DisposableFeatureSetIterableImpl(FeatureSet fset, DisposableIterator it) {
|
|
59 | 59 |
this.fset = fset; |
60 |
// No se debe de hacer el bind. DisposeUtils.bind(fset); |
|
60 | 61 |
this.it = it; |
61 | 62 |
} |
62 | 63 |
|
... | ... | |
80 | 81 |
DisposeUtils.disposeQuietly(this.it); |
81 | 82 |
DisposeUtils.disposeQuietly(this.fset); |
82 | 83 |
} |
84 |
|
|
85 |
@Override |
|
86 |
public boolean isEmpty() throws DataException { |
|
87 |
return this.fset.isEmpty(); |
|
88 |
} |
|
89 |
|
|
90 |
@Override |
|
91 |
public long size64() { |
|
92 |
return this.fset.size64(); |
|
93 |
} |
|
83 | 94 |
|
84 | 95 |
} |
85 | 96 |
|
... | ... | |
153 | 164 |
try { |
154 | 165 |
return this.fastIterator(0); |
155 | 166 |
} catch (DataException ex) { |
156 |
throw new RuntimeException("Can't obtain itertor.",ex); |
|
167 |
throw new RuntimeException("Can't obtain iterator.",ex);
|
|
157 | 168 |
} |
158 | 169 |
} |
159 | 170 |
|
160 | 171 |
@Override |
161 |
public DisposableSetIterator setIterator() {
|
|
162 |
return new DisposableSetIteratorImpl(this, this.iterator());
|
|
172 |
public DisposableFeatureSetIterable iterable() {
|
|
173 |
return iterable(true);
|
|
163 | 174 |
} |
164 | 175 |
|
165 | 176 |
@Override |
177 |
public DisposableFeatureSetIterable iterable(boolean disposeFeatureSet) { |
|
178 |
if (!disposeFeatureSet) { |
|
179 |
DisposeUtils.bind(this); |
|
180 |
} |
|
181 |
return new DisposableFeatureSetIterableImpl(this, this.iterator()); |
|
182 |
} |
|
183 |
@Override |
|
166 | 184 |
public DynObjectSet getDynObjectSet() { |
167 | 185 |
return this.getDynObjectSet(true); |
168 | 186 |
} |
Also available in: Unified diff