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 |
} |