Revision 44773 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeature.java
DefaultFeature.java | ||
---|---|---|
43 | 43 |
import org.gvsig.fmap.dal.exception.DataException; |
44 | 44 |
import org.gvsig.fmap.dal.feature.DataProfile; |
45 | 45 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
46 |
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor; |
|
46 | 47 |
import org.gvsig.fmap.dal.feature.Feature; |
47 | 48 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
48 | 49 |
import org.gvsig.fmap.dal.feature.FeatureAttributeEmulator; |
49 | 50 |
import org.gvsig.fmap.dal.feature.FeatureAttributeGetter; |
51 |
import org.gvsig.fmap.dal.feature.FeatureExtraColumn; |
|
50 | 52 |
import org.gvsig.fmap.dal.feature.FeatureReference; |
51 | 53 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
52 | 54 |
import org.gvsig.fmap.dal.feature.FeatureType; |
... | ... | |
1189 | 1191 |
return label; |
1190 | 1192 |
} |
1191 | 1193 |
|
1194 |
|
|
1192 | 1195 |
@Override |
1193 | 1196 |
public Object getExtraValue(String name) { |
1194 |
return this.data.getExtraValue(name); |
|
1197 |
FeatureExtraColumn column = this.getType().getExtraColumn(); |
|
1198 |
int index = column.getIndexOf(name); |
|
1199 |
if( index <0 ) { |
|
1200 |
return null; |
|
1201 |
} |
|
1202 |
Object value = this.data.getExtraValue(name); |
|
1203 |
if( value == null ) { |
|
1204 |
EditableFeatureAttributeDescriptor attrdesc = column.get(index); |
|
1205 |
value = attrdesc.getFeatureAttributeEmulator().get(this); |
|
1206 |
this.data.setExtraValue(index, value); |
|
1207 |
} |
|
1208 |
return value; |
|
1195 | 1209 |
} |
1196 | 1210 |
|
1211 |
@Override |
|
1197 | 1212 |
public boolean hasExtraValue(String name) { |
1198 | 1213 |
return this.data.hasExtraValue(name); |
1199 | 1214 |
} |
Also available in: Unified diff