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 | } |