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

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