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 @ 44262

History | View | Annotate | Download (2.02 KB)

1
package org.gvsig.expressionevaluator.swing.impl.elements;
2

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

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

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

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

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

    
40
    @Override
41
    public Element get(int index) {
42
        return this.elements.get(index);
43
    }
44

    
45
    @Override
46
    public int size() {
47
        return this.elements.size();
48
    }
49

    
50
    @Override
51
    public Iterator<Element> iterator() {
52
        return this.elements.iterator();
53
    }
54

    
55
    @Override
56
    public void addElement(Element element) {
57
        this.elements.add(element);
58
    }
59

    
60
    @Override
61
    public void addElement(Function function) {
62
        Element item = this.manager.createConstantElement(function, function.name());
63
        this.addElement(item);
64
    }
65

    
66
    @Override
67
    public boolean hasSubgroups() {
68
        for (Element element : this.getElements()) {
69
            if( element instanceof GroupElement ) {
70
                return true;
71
            }
72
        }
73
        return false;
74
    }
75

    
76
    @Override
77
    public boolean hasMoreElements() {
78
        return false;
79
    }
80
}