Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / libraries / libFMap_dataFile / src / org / gvsig / fmap / data / feature / file / shp / ShpFeatureCollectionWithFeatureID.java @ 22373

History | View | Annotate | Download (1.74 KB)

1
package org.gvsig.fmap.data.feature.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.fmap.data.ReadException;
9
import org.gvsig.fmap.data.feature.Feature;
10
import org.gvsig.fmap.data.feature.FeatureCollection;
11
import org.gvsig.fmap.data.feature.FeatureManager;
12
import org.gvsig.fmap.data.feature.FeatureType;
13
import org.gvsig.fmap.data.feature.expressionevaluator.FeatureComparator;
14
import org.gvsig.fmap.data.feature.file.dbf.DBFFeatureCollection;
15
import org.gvsig.fmap.data.feature.file.dbf.DBFFeatureCollectionWithFeatureID;
16
import org.gvsig.fmap.data.feature.file.dbf.DBFStore;
17

    
18
public class ShpFeatureCollectionWithFeatureID extends
19
                DBFFeatureCollectionWithFeatureID {
20

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

    
49
}