Statistics
| Revision:

root / branches / v2_0_0_prep / libraries / libFMap_dal / src / org / gvsig / fmap / dal / feature / impl / featureSet / FastDefaultIterator.java @ 24496

History | View | Annotate | Download (1 KB)

1
package org.gvsig.fmap.dal.feature.impl.featureSet;
2

    
3
import org.gvsig.fmap.dal.exceptions.DataException;
4
import org.gvsig.fmap.dal.feature.impl.DefaultFeature;
5
import org.gvsig.fmap.dal.feature.spi.FeatureData;
6

    
7
public class FastDefaultIterator extends DefaultIterator {
8

    
9
        DefaultFeature myFeature;
10

    
11
        public FastDefaultIterator(DefaultFeatureSet featureSet, long index)
12
                        throws DataException {
13
                super(featureSet);
14
                myFeature = new DefaultFeature(fset.store);
15
                if (index > 0) {
16
                        if (featureSet.provider.canIterateFromIndex()) {
17
                                try {
18
                                        this.iterator = featureSet.provider.fastIterator(index);
19
                                } catch (UnsupportedOperationException e) {
20
                                        this.iterator = featureSet.provider.fastIterator();
21
                                        skypto(index);
22
                                }
23
                        } else {
24
                                this.iterator = featureSet.provider.fastIterator();
25
                                skypto(index);
26
                        }
27
                } else {
28
                        this.iterator = featureSet.provider.fastIterator();
29
                }
30

    
31
        }
32

    
33
        protected DefaultFeature createFeature(FeatureData fData) {
34
                this.myFeature.setData(fData);
35
                return this.myFeature;
36
        }
37
}