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 | 44753 | omartinez | /*
|
---|---|---|---|
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 | 44764 | jjdelcerro | private final List<EditableFeatureAttributeDescriptor> extraColumns; |
23 | |||
24 | 44753 | omartinez | public DefaultFeatureExtraColumn() {
|
25 | this.extraColumns = new ArrayList(); |
||
26 | } |
||
27 | 44764 | jjdelcerro | |
28 | 44753 | omartinez | @Override
|
29 | 44764 | jjdelcerro | public boolean isEmpty() { |
30 | return this.extraColumns.isEmpty(); |
||
31 | } |
||
32 | |||
33 | @Override
|
||
34 | 44753 | omartinez | 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 | 44764 | jjdelcerro | EditableFeatureAttributeDescriptor newAttr = new DefaultEditableFeatureAttributeDescriptor(null, false); |
48 | 44753 | omartinez | 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 | 44778 | omartinez | @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 | 44753 | omartinez | } |