root / branches / Mobile_Compatible_Hito_1 / libFMap / src-data / org / gvsig / data / vectorial / MemoryFeatureID.java @ 21606
History | View | Annotate | Download (2.18 KB)
1 |
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 |
} |