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 |
} |