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