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