root / branches / Mobile_Compatible_Hito_1 / libFMap / src-data / org / gvsig / data / vectorial / MemoryFeatureID.java @ 21606
History | View | Annotate | Download (2.18 KB)
1 | 21606 | jldominguez | package org.gvsig.data.vectorial; |
---|---|---|---|
2 | |||
3 | public class MemoryFeatureID implements IFeatureID{ |
||
4 | private IFeature feature;
|
||
5 | public MemoryFeatureID(IFeature feature){
|
||
6 | this.feature=feature;
|
||
7 | } |
||
8 | public IFeature getFeature(IFeatureType featureType) {
|
||
9 | IFeature auxFeature=new MemoryFeature(featureType,false); |
||
10 | for (int i=0;i<featureType.size();i++) { |
||
11 | IFeatureAttributeDescriptor descriptor= (IFeatureAttributeDescriptor)featureType.get(i); |
||
12 | String name=descriptor.getName();
|
||
13 | String dataType=descriptor.getDataType();
|
||
14 | if (IFeatureAttributeDescriptor.TYPE_BOOLEAN==dataType){
|
||
15 | auxFeature.set(name,feature.getBoolean(name)); |
||
16 | }else if (IFeatureAttributeDescriptor.TYPE_DATE==dataType){ |
||
17 | auxFeature.set(name,feature.getDate(name)); |
||
18 | }else if (IFeatureAttributeDescriptor.TYPE_DOUBLE==dataType){ |
||
19 | auxFeature.set(name,feature.getDouble(name)); |
||
20 | }else if (IFeatureAttributeDescriptor.TYPE_FEATURE==dataType){ |
||
21 | auxFeature.set(name,feature.getFeature(name)); |
||
22 | }else if (IFeatureAttributeDescriptor.TYPE_FLOAT==dataType){ |
||
23 | auxFeature.set(name,feature.getFloat(name)); |
||
24 | }else if (IFeatureAttributeDescriptor.TYPE_GEOMETRY==dataType){ |
||
25 | auxFeature.set(name,feature.getGeometry(name)); |
||
26 | }else if (IFeatureAttributeDescriptor.TYPE_INT==dataType){ |
||
27 | auxFeature.set(name,feature.getInt(name)); |
||
28 | }else if (IFeatureAttributeDescriptor.TYPE_LONG==dataType){ |
||
29 | auxFeature.set(name,feature.getLong(name)); |
||
30 | }else if (IFeatureAttributeDescriptor.TYPE_STRING==dataType){ |
||
31 | auxFeature.set(name,feature.getString(name)); |
||
32 | }else if (IFeatureAttributeDescriptor.TYPE_OBJECT==dataType){ |
||
33 | auxFeature.set(name,feature.get(name)); |
||
34 | }else if (IFeatureAttributeDescriptor.TYPE_BYTE==dataType){ |
||
35 | auxFeature.set(name,feature.get(name)); |
||
36 | } |
||
37 | } |
||
38 | return auxFeature;
|
||
39 | } |
||
40 | public boolean equals(Object obj) { |
||
41 | if (obj instanceof MemoryFeatureID){ |
||
42 | MemoryFeatureID mfObj =(MemoryFeatureID)obj; |
||
43 | return mfObj.feature.equals(this.feature); |
||
44 | // if (!mfObj.feature.getType().equals(this.feature.getType())){
|
||
45 | // return false;
|
||
46 | // }
|
||
47 | // int id = this.feature.getType().getFieldIdIndex();
|
||
48 | // return (mfObj.feature.get(id).equals(this.feature.get(id)));
|
||
49 | |||
50 | } |
||
51 | return false; |
||
52 | } |
||
53 | |||
54 | } |