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 / DefaultConstantValueElement.java @ 44259
History | View | Annotate | Download (2.56 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.Comparator; |
9 |
import java.util.Objects; |
10 |
import org.gvsig.expressionevaluator.swing.Element.ConstantElement; |
11 |
import org.gvsig.expressionevaluator.swing.ExpressionBuilderConfig; |
12 |
import org.gvsig.expressionevaluator.swing.impl.Utils; |
13 |
import org.gvsig.expressionevaluator.swing.spi.AbstractElement; |
14 |
import org.gvsig.tools.ToolsLocator; |
15 |
import org.gvsig.tools.i18n.I18nManager; |
16 |
import org.gvsig.tools.util.LabeledValue; |
17 |
|
18 |
/**
|
19 |
*
|
20 |
* @author jjdelcerro
|
21 |
*/
|
22 |
public class DefaultConstantValueElement |
23 |
extends AbstractElement
|
24 |
implements ConstantElement {
|
25 |
|
26 |
private final String label; |
27 |
|
28 |
public DefaultConstantValueElement(Object value, String label, String description) { |
29 |
super(Objects.toString(value,""), value, "expressionbuilder-element-constant"); |
30 |
if( label == null ) { |
31 |
this.label = Objects.toString(value,""); |
32 |
} else {
|
33 |
this.label = label;
|
34 |
} |
35 |
} |
36 |
|
37 |
@Override
|
38 |
public String getLabel() { |
39 |
return this.label; |
40 |
} |
41 |
|
42 |
@Override
|
43 |
public String getRenderedValue() { |
44 |
return " "+Utils.repr(this.getValue())+" "; |
45 |
} |
46 |
|
47 |
@Override
|
48 |
public String getDescription() { |
49 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
50 |
|
51 |
StringBuilder html = new StringBuilder(); |
52 |
html.append("<html>\n");
|
53 |
Object theValue = this.getValue(); |
54 |
if (theValue == null) { |
55 |
html.append("<b>").append(i18n.getTranslation("_Constant")).append("</b><br>\n<br>\n"); |
56 |
html.append("<b>").append(i18n.getTranslation("_Value")).append("</b> NULL<br>\n"); |
57 |
} else {
|
58 |
html.append("<b>").append(i18n.getTranslation("_Constant")).append("</b><br>\n<br>\n"); |
59 |
html.append("<b>").append(i18n.getTranslation("_Value")).append("</b> ").append(Utils.repr(theValue)).append("<br>\n"); |
60 |
html.append("<b>").append(i18n.getTranslation("_Type")).append("</b> ").append(theValue.getClass().getSimpleName()).append("<br>\n"); |
61 |
} |
62 |
html.append("</html>\n");
|
63 |
return html.toString();
|
64 |
} |
65 |
|
66 |
@Override
|
67 |
public int compareTo(Object other) { |
68 |
if( !(other instanceof LabeledValue) ) { |
69 |
return super.compareTo(other); |
70 |
} |
71 |
Comparator comparator = Utils.naturalComparator();
|
72 |
return comparator.compare(this.getValue(), ((LabeledValue)other).getValue()); |
73 |
} |
74 |
|
75 |
} |