Revision 43550 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
24 24
package org.gvsig.fmap.dal.feature.impl;
25 25

  
26 26
import java.lang.ref.WeakReference;
27
import java.util.ArrayList;
27 28
import java.util.Date;
28 29
import java.util.Iterator;
29 30
import java.util.List;
31
import java.util.Map;
30 32

  
31 33
import org.cresques.cts.IProjection;
32 34
import org.gvsig.fmap.dal.DataTypes;
......
331 333
        }
332 334
        return this.get(index);
333 335
    }
336
    
337
    public boolean has_key(String key) {
338
        Object x = this.getType().get(key);
339
        return x != null;
340
    }
341
    
342
    public List<String> keys() {
343
        List<String> ks = new ArrayList<>();
344
        for( FeatureAttributeDescriptor attr : this.getType()) {
345
            ks.add(attr.getName());
346
        }
347
        return ks;
348
    }
349
    
350
    public Iterator<String> iterkeys() {
351
        final Iterator it = this.getType().iterator();
352
        return new Iterator<String>() {
353
            @Override
354
            public boolean hasNext() {
355
                return it.hasNext();
356
            }
334 357

  
358
            @Override
359
            public String next() {
360
                return ((FeatureAttributeDescriptor)it.next()).getName();
361
            }
362
        };
363
    }
335 364

  
365
    public Iterator iteritems() {
366
        final Iterator it = this.getType().iterator();
367
        return new Iterator<Map.Entry>() {
368
            @Override
369
            public boolean hasNext() {
370
                return it.hasNext();
371
            }
372

  
373
            @Override
374
            public Map.Entry next() {
375
                final String name = ((FeatureAttributeDescriptor)it.next()).getName();
376
                return new Map.Entry<String, Object>() {
377
                    @Override
378
                    public String getKey() {
379
                        return name;
380
                    }
381

  
382
                    @Override
383
                    public Object getValue() {
384
                        return get(name);
385
                    }
386

  
387
                    @Override
388
                    public Object setValue(Object value) {
389
                        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
390
                    }
391
                    
392
                };
393
            }
394
        };        
395
    }
396

  
397
    @Override
336 398
    public Object get(int index) {
337 399
        FeatureType type = this.data.getType();
338 400
        if( index <0 || index >= type.size() ) {

Also available in: Unified diff