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 / DefaultConstantValueElement.java @ 44259

History | View | Annotate | Download (2.56 KB)

1 43983 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
package org.gvsig.expressionevaluator.swing.impl.elements;
7
8 44259 jjdelcerro
import java.util.Comparator;
9 43983 jjdelcerro
import java.util.Objects;
10
import org.gvsig.expressionevaluator.swing.Element.ConstantElement;
11 44191 jjdelcerro
import org.gvsig.expressionevaluator.swing.ExpressionBuilderConfig;
12 44126 jjdelcerro
import org.gvsig.expressionevaluator.swing.impl.Utils;
13 43983 jjdelcerro
import org.gvsig.expressionevaluator.swing.spi.AbstractElement;
14 44126 jjdelcerro
import org.gvsig.tools.ToolsLocator;
15
import org.gvsig.tools.i18n.I18nManager;
16 44259 jjdelcerro
import org.gvsig.tools.util.LabeledValue;
17 43983 jjdelcerro
18
/**
19
 *
20
 * @author jjdelcerro
21
 */
22
public class DefaultConstantValueElement
23
        extends AbstractElement
24 44126 jjdelcerro
        implements ConstantElement {
25 43983 jjdelcerro
26 44259 jjdelcerro
    private final String label;
27 43983 jjdelcerro
28 44259 jjdelcerro
    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 44126 jjdelcerro
    }
36 43983 jjdelcerro
37
    @Override
38 44259 jjdelcerro
    public String getLabel() {
39
        return this.label;
40 43983 jjdelcerro
    }
41 44126 jjdelcerro
42
    @Override
43 44259 jjdelcerro
    public String getRenderedValue() {
44
        return " "+Utils.repr(this.getValue())+" ";
45
    }
46
47
    @Override
48 44126 jjdelcerro
    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 44259 jjdelcerro
    @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 43983 jjdelcerro
}