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