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
/*
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.ExpressionBuilderConfig;
15
import org.gvsig.expressionevaluator.swing.spi.AbstractElement;
16
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingManager;
17

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

    
31
    public DefaultGroupElement(ExpressionEvaluatorSwingManager manager, ExpressionBuilderConfig config, String name, List<Element> elements) {
32
        super(name, "expressionbuilder-element-group");
33
        this.manager = manager;
34
        this.elements = elements;
35
        this.config = config;
36
    }
37

    
38
    public DefaultGroupElement(ExpressionBuilderConfig config, String name) {
39
        super(name, "expressionbuilder-element-group");
40
        this.config = config;
41
        this.elements = new ArrayList<>();
42
    }
43

    
44
    @Override
45
    public List<Element> getElements() {
46
        return this.elements;
47
    }
48

    
49
    @Override
50
    public Element get(int index) {
51
        return this.elements.get(index);
52
    }
53

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

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

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

    
69
    @Override
70
    public void addElement(Function function) {
71
        Element item = this.manager.createConstantElement(this.config, function);
72
        this.addElement(item);
73
    }
74

    
75
    @Override
76
    public boolean hasSubgroups() {
77
        for (Element element : this.getElements()) {
78
            if( element instanceof GroupElement ) {
79
                return true;
80
            }
81
        }
82
        return false;
83
    }
84

    
85
    @Override
86
    public boolean hasMoreElements() {
87
        return false;
88
    }
89
}