Statistics
| Revision:

root / branches / v2_0_0_prep / extensions / extExpressionField / src / org / gvsig / expressionfield / project / documents / table / operators / ToNumber.java @ 29628

History | View | Annotate | Download (1.49 KB)

1
package org.gvsig.expressionfield.project.documents.table.operators;
2

    
3
import org.apache.bsf.BSFException;
4
import org.apache.bsf.BSFManager;
5
import org.gvsig.andami.PluginServices;
6
import org.gvsig.expressionfield.ExpressionFieldExtension;
7
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
8
import org.gvsig.expressionfield.project.documents.table.IOperator;
9

    
10

    
11
/**
12
 * @author Vicente Caballero Navarro
13
 */
14
public class ToNumber extends AbstractOperator{
15

    
16
        public String addText(String s) {
17
                return toString()+"("+s+")";
18
        }
19
        public String toString() {
20
                return "toNumber";
21
        }
22
        public void eval(BSFManager interpreter) throws BSFException {
23
//                interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double toNumber(String value){return java.lang.Double.parseDouble(value);};");
24
                interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def toNumber(value):\n" +
25
                                "  import java.lang.Double\n" +
26
                                "  return java.lang.Double.parseDouble(value)");
27
        }
28
        public boolean isEnable() {
29
                return (getType()==IOperator.NUMBER );
30
        }
31
        public String getDescription() {
32
            return PluginServices.getText(this, "parameter") + ": " +
33
            PluginServices.getText(this, "string_value") + "\n" +
34
            PluginServices.getText(this, "returns") + ": " +
35
            PluginServices.getText(this, "double_value") + "\n" +
36
            PluginServices.getText(this, "description") + ": " +
37
            "Returns a new number initialized to the value represented by the specified String";
38
        }
39
}