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 @ 44259
History | View | Annotate | Download (2.2 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 | 44191 | jjdelcerro | final private List<Element> elements; |
27 | private ExpressionEvaluatorSwingManager manager;
|
||
28 | 43939 | jjdelcerro | |
29 | 44259 | jjdelcerro | public DefaultGroupElement(ExpressionEvaluatorSwingManager manager, String name, List<Element> elements) { |
30 | super(name, name, "expressionbuilder-element-group"); |
||
31 | 43970 | jjdelcerro | this.manager = manager;
|
32 | 43939 | jjdelcerro | this.elements = elements;
|
33 | } |
||
34 | |||
35 | 44259 | jjdelcerro | public DefaultGroupElement(String name) { |
36 | super(name, name, "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 | 44259 | jjdelcerro | Element item = this.manager.createConstantElement(function, function.name()); |
68 | 43983 | jjdelcerro | 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 | 43939 | jjdelcerro | } |