Statistics
| Revision:

root / branches / Mobile_Compatible_Hito_1 / libFMap_dataFile / src / org / gvsig / data / datastores / vectorial / file / shp / ShpFeatureCollectionWithFeatureID.java @ 21571

History | View | Annotate | Download (1.83 KB)

1
package org.gvsig.data.datastores.vectorial.file.shp;
2

    
3
import java.util.ArrayList;
4
import java.util.Comparator;
5
import java.util.Iterator;
6
import java.util.TreeSet;
7

    
8
import org.gvsig.data.ReadException;
9
import org.gvsig.data.datastores.vectorial.file.dbf.DBFFeatureCollection;
10
import org.gvsig.data.datastores.vectorial.file.dbf.DBFFeatureCollectionWithFeatureID;
11
import org.gvsig.data.datastores.vectorial.file.dbf.DBFStore;
12
import org.gvsig.data.vectorial.FeatureManager;
13
import org.gvsig.data.vectorial.Feature;
14
import org.gvsig.data.vectorial.FeatureCollection;
15
import org.gvsig.data.vectorial.FeatureType;
16
import org.gvsig.data.vectorial.expressionevaluator.FeatureComparator;
17
import org.opengis.filter.Filter;
18
import org.opengis.filter.sort.SortBy;
19

    
20
public class ShpFeatureCollectionWithFeatureID extends
21
                DBFFeatureCollectionWithFeatureID {
22

    
23
        public ShpFeatureCollectionWithFeatureID(FeatureManager fm, SHPStore store, FeatureType type, Filter filter, SortBy[] Order) throws ReadException {
24
                super(fm, store, type, filter, Order);
25
                // TODO Auto-generated constructor stub
26
        }
27
        protected void intilizeFeatureIDs(FeatureManager fm,DBFStore store, Filter filter,SortBy[] order) throws ReadException {
28
                try{
29
                if (order == null){
30
                        if (filter == null){
31
                                featureIDs = new ArrayList(); // Si queremos optimizar deberiamos inicializar
32
                                // el tama?o
33
                        } else {
34
                                featureIDs = new ArrayList();
35
                        }
36
                } else {
37
                        Comparator comparator = new FeatureComparator(this.featureType,order);
38
                        featureIDs = new TreeSet(comparator);
39
                }
40
                FeatureCollection coll = new ShpFeatureCollection(fm,(SHPStore)store,this.featureType,filter);
41
                Iterator iter = coll.iterator();
42
                while (iter.hasNext()){
43
                        Feature feature =(Feature)iter.next();
44
                        featureIDs.add(feature.getID());
45
                }
46
                }catch (Exception e) {
47
                        throw new ReadException("DBFFeatureCollection",e);
48
                }
49
        }
50

    
51
}