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
package org.gvsig.expressionevaluator.swing.impl.elements;
2

    
3
import java.util.ArrayList;
4
import java.util.Collection;
5
import java.util.Iterator;
6
import java.util.List;
7
import org.gvsig.expressionevaluator.Function;
8
import org.gvsig.expressionevaluator.swing.Element;
9
import org.gvsig.expressionevaluator.swing.Element.GroupElement;
10
import org.gvsig.expressionevaluator.swing.ExpressionBuilderConfig;
11
import org.gvsig.expressionevaluator.swing.spi.AbstractElement;
12
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingManager;
13

    
14
/**
15
 *
16
 * @author jjdelcerro
17
 */
18
public class DefaultGroupElement 
19
        extends AbstractElement
20
        implements GroupElement 
21
    {
22
    
23
    final private List<Element> elements;
24
    private ExpressionEvaluatorSwingManager manager;
25

    
26
    public DefaultGroupElement(ExpressionEvaluatorSwingManager manager, String name, List<Element> elements) {
27
        super(name, name, "expressionbuilder-element-group");
28
        this.manager = manager;
29
        this.elements = elements;
30
    }
31

    
32
    public DefaultGroupElement(String name) {
33
        super(name, name, "expressionbuilder-element-group");
34
        this.elements = new ArrayList<>();
35
    }
36

    
37
    @Override
38
    public List<Element> getElements() {
39
        return this.elements;
40
    }
41

    
42
    @Override
43
    public Collection<Element> getValues() {
44
        return this.elements;
45
    }
46
    
47
    @Override
48
    public Element get(int index) {
49
        return this.elements.get(index);
50
    }
51

    
52
    @Override
53
    public int size() {
54
        return this.elements.size();
55
    }
56

    
57
    @Override
58
    public Iterator<Element> iterator() {
59
        return this.elements.iterator();
60
    }
61

    
62
    @Override
63
    public void addElement(Element element) {
64
        this.elements.add(element);
65
    }
66

    
67
    @Override
68
    public void addElement(Function function) {
69
        Element item = this.manager.createConstantElement(function, function.name());
70
        item.setConfig(this.getConfig());
71
        this.addElement(item);
72
    }
73

    
74
    @Override
75
    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
            }
81
        }
82
        return this;
83
    }
84

    
85
    
86
}