Revision 44858 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

View differences:

DefaultFeature.java
28 28
import java.time.format.DateTimeFormatter;
29 29
import java.util.ArrayList;
30 30
import java.util.Date;
31
import java.util.HashMap;
31 32
import java.util.Iterator;
32 33
import java.util.List;
33 34
import java.util.Map;
......
82 83
	private WeakReference storeRef;
83 84

  
84 85
	private boolean inserted = false;
85
        private Object[] extraValuesData;
86
  private Object[] extraValuesData;
87
  private Map<String,Object> extraValues; // not persistent
86 88

  
87 89
    /*
88 90
	 * Usar con mucha precaucion o mejor no usar. Lo precisa el
......
1220 1222
        String label = attrdesc.getLabelOfValue(value);
1221 1223
        return label;
1222 1224
    }
1225
   
1226
    @Override
1227
    public void setExtraValue(String name, Object value) {
1228
      if( this.extraValues==null ) {
1229
        this.extraValues = new HashMap<>();
1230
      }
1231
      this.extraValues.put(name, value);
1232
    }
1223 1233

  
1224
    
1225
      @Override
1234
    @Override
1226 1235
    public Object getExtraValue(String name) {
1227 1236
        Object value;
1237
        if( this.extraValues!=null ) {
1238
          if( this.extraValues.containsKey(name) ) {
1239
            return this.extraValues.get(name);
1240
          }
1241
        }
1228 1242
        FeatureExtraColumns columns = this.getType().getExtraColumns();
1229 1243
        int index = columns.getIndexOf(name);
1230 1244
        if( index >= 0 ) {
......
1249 1263

  
1250 1264
    @Override
1251 1265
    public boolean hasExtraValue(String name) {
1266
        if( this.extraValues!=null ) {
1267
          if( this.extraValues.containsKey(name) ) {
1268
            return true;
1269
          }
1270
        }
1252 1271
        FeatureExtraColumns columns = this.getType().getExtraColumns();
1253 1272
        int index = columns.getIndexOf(name);
1254 1273
        if( index >= 0 ) {

Also available in: Unified diff