Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.expressionevaluator / org.gvsig.expressionevaluator.swing / org.gvsig.expressionevaluator.swing.impl / src / main / java / org / gvsig / expressionevaluator / swing / impl / elements / DefaultGroupElement.java @ 44263

History | View | Annotate | Download (2.24 KB)

1 43983 jjdelcerro
package org.gvsig.expressionevaluator.swing.impl.elements;
2 43939 jjdelcerro
3
import java.util.ArrayList;
4 44263 jjdelcerro
import java.util.Collection;
5 43939 jjdelcerro
import java.util.Iterator;
6
import java.util.List;
7 43970 jjdelcerro
import org.gvsig.expressionevaluator.Function;
8 43983 jjdelcerro
import org.gvsig.expressionevaluator.swing.Element;
9
import org.gvsig.expressionevaluator.swing.Element.GroupElement;
10 44263 jjdelcerro
import org.gvsig.expressionevaluator.swing.ExpressionBuilderConfig;
11 43983 jjdelcerro
import org.gvsig.expressionevaluator.swing.spi.AbstractElement;
12 43970 jjdelcerro
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingManager;
13 43939 jjdelcerro
14
/**
15
 *
16
 * @author jjdelcerro
17
 */
18 43983 jjdelcerro
public class DefaultGroupElement
19
        extends AbstractElement
20
        implements GroupElement
21
    {
22 43939 jjdelcerro
23 44191 jjdelcerro
    final private List<Element> elements;
24
    private ExpressionEvaluatorSwingManager manager;
25 43939 jjdelcerro
26 44259 jjdelcerro
    public DefaultGroupElement(ExpressionEvaluatorSwingManager manager, String name, List<Element> elements) {
27
        super(name, name, "expressionbuilder-element-group");
28 43970 jjdelcerro
        this.manager = manager;
29 43939 jjdelcerro
        this.elements = elements;
30
    }
31
32 44259 jjdelcerro
    public DefaultGroupElement(String name) {
33
        super(name, name, "expressionbuilder-element-group");
34 43939 jjdelcerro
        this.elements = new ArrayList<>();
35
    }
36
37 43983 jjdelcerro
    @Override
38
    public List<Element> getElements() {
39 43939 jjdelcerro
        return this.elements;
40
    }
41
42
    @Override
43 44263 jjdelcerro
    public Collection<Element> getValues() {
44
        return this.elements;
45
    }
46
47
    @Override
48 43983 jjdelcerro
    public Element get(int index) {
49 43939 jjdelcerro
        return this.elements.get(index);
50
    }
51
52
    @Override
53
    public int size() {
54
        return this.elements.size();
55
    }
56
57
    @Override
58 43983 jjdelcerro
    public Iterator<Element> iterator() {
59 43939 jjdelcerro
        return this.elements.iterator();
60
    }
61
62
    @Override
63 43983 jjdelcerro
    public void addElement(Element element) {
64 43939 jjdelcerro
        this.elements.add(element);
65
    }
66
67
    @Override
68 43983 jjdelcerro
    public void addElement(Function function) {
69 44259 jjdelcerro
        Element item = this.manager.createConstantElement(function, function.name());
70 44263 jjdelcerro
        item.setConfig(this.getConfig());
71 43983 jjdelcerro
        this.addElement(item);
72 43939 jjdelcerro
    }
73
74
    @Override
75 44263 jjdelcerro
    public Element setConfig(ExpressionBuilderConfig config) {
76
        super.setConfig(config);
77
        if( this.elements!=null ) {
78
            for (Element element : this.elements) {
79
                element.setConfig(config);
80 43983 jjdelcerro
            }
81
        }
82 44263 jjdelcerro
        return this;
83 43939 jjdelcerro
    }
84 43970 jjdelcerro
85 44263 jjdelcerro
86 43939 jjdelcerro
}