Statistics
| Revision:

svn-gvsig-desktop / 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 / DefaultFeatureExtraColumn.java @ 44778

History | View | Annotate | Download (2.27 KB)

1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.fmap.dal.feature.impl;
7

    
8
import java.util.ArrayList;
9
import java.util.List;
10
import org.apache.commons.lang3.StringUtils;
11
import org.gvsig.fmap.dal.DALLocator;
12
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor;
13
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
14
import org.gvsig.fmap.dal.feature.FeatureExtraColumn;
15

    
16
/**
17
 *
18
 * @author osc
19
 */
20
public class DefaultFeatureExtraColumn implements FeatureExtraColumn {
21

    
22
    private final List<EditableFeatureAttributeDescriptor> extraColumns;
23
    
24
    public DefaultFeatureExtraColumn() {
25
        this.extraColumns = new ArrayList();
26
    }
27

    
28
    @Override
29
    public boolean isEmpty() {
30
      return this.extraColumns.isEmpty();
31
    }
32
    
33
    @Override
34
    public EditableFeatureAttributeDescriptor get(String columnName) {
35
        for (EditableFeatureAttributeDescriptor extraColumn : this.extraColumns) {
36
            if (StringUtils.equals(extraColumn.getName(), columnName)) {
37
                return extraColumn;
38
            }
39
        }
40
        return null;
41
    }
42

    
43
    @Override
44
    public EditableFeatureAttributeDescriptor add(String name) {
45
        //TODO que no hayan dos columnas iguales
46
//        exi.addExtraColumn()
47
        EditableFeatureAttributeDescriptor newAttr = new DefaultEditableFeatureAttributeDescriptor(null, false);
48
        newAttr.setName(name);
49
        extraColumns.add(newAttr);
50
        return newAttr;
51
    }
52

    
53
    @Override
54
    public List<EditableFeatureAttributeDescriptor> getColumns() {
55
        return this.extraColumns;
56
    }
57

    
58
    @Override
59
    public void merge(FeatureExtraColumn other) {
60
        this.extraColumns.addAll(other.getColumns());
61
    }
62

    
63
    @Override
64
    public int getIndexOf(String name) {
65
        for (int i = 0; i < extraColumns.size(); i++) {
66
            EditableFeatureAttributeDescriptor extraColumn = extraColumns.get(i);
67
            if (StringUtils.equals(extraColumn.getName(), name)) {
68
                return i;
69
            }
70
        }
71
        return -1;
72
    }
73

    
74
    @Override
75
    public EditableFeatureAttributeDescriptor get(int index) {
76
        return extraColumns.get(index);
77
    }
78

    
79
}