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

History | View | Annotate | Download (2.17 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.expressionevaluator.swing.impl.elements;
7

    
8
import java.util.ArrayList;
9
import java.util.Iterator;
10
import java.util.List;
11
import org.gvsig.expressionevaluator.Function;
12
import org.gvsig.expressionevaluator.swing.Element;
13
import org.gvsig.expressionevaluator.swing.Element.GroupElement;
14
import org.gvsig.expressionevaluator.swing.spi.AbstractElement;
15
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingManager;
16

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

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

    
35
    public DefaultGroupElement(String name) {
36
        super(name, null, "expressionbuilder-element-group");
37
        this.elements = new ArrayList<>();
38
    }
39

    
40
    @Override
41
    public List<Element> getElements() {
42
        return this.elements;
43
    }
44

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

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

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

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

    
65
    @Override
66
    public void addElement(Function function) {
67
        Element item = this.manager.createConstantElement(function);
68
        this.addElement(item);
69
    }
70

    
71
    @Override
72
    public boolean hasSubgroups() {
73
        for (Element element : this.getElements()) {
74
            if( element instanceof GroupElement ) {
75
                return true;
76
            }
77
        }
78
        return false;
79
    }
80

    
81
    @Override
82
    public boolean hasMoreElements() {
83
        return false;
84
    }
85

    
86
}