Statistics
| Revision:

root / trunk / libraries / libExpressions / src / main / java / org / gvsig / operators / IsNumber.java @ 23299

History | View | Annotate | Download (1.41 KB)

1
package org.gvsig.operators;
2

    
3
import org.apache.bsf.BSFException;
4
import org.apache.bsf.BSFManager;
5
import org.gvsig.baseclasses.AbstractOperator;
6
import org.gvsig.baseclasses.IOperator;
7
import org.gvsig.expresions.EvalOperatorsTask;
8

    
9
/**
10
 * @author Vicente Caballero Navarro
11
 */
12
public class IsNumber extends AbstractOperator{
13

    
14
        public String addText(String s) {
15
                return toString()+"("+s+")";
16
        }
17
        public String toString() {
18
                return "isNumber";
19
        }
20
        public void eval(BSFManager interpreter) throws BSFException {
21
//                interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"boolean isNumber (String value){try{java.lang.Double.parseDouble(value);}catch(java.lang.NumberFormatException e){return false;}return true;};");
22
                interpreter.exec(EvalOperatorsTask.JYTHON,null,-1,-1,"def isNumber(value):\n" +
23
                                "  import java.lang.Double\n" +
24
                                "  import java.lang.NumberFormatException\n" +
25
                                "  try:\n" +
26
                                "    java.lang.Double.parseDouble(value)\n" +
27
                                "  except java.lang.NumberFormatException:\n" +
28
                                "    return 0==1 #false\n" +
29
                                "  return 1==1 #true\n");
30
        }
31
        public boolean isEnable() {
32
                return (getType()==IOperator.STRING);
33
        }
34
        public String getDescription() {
35
            return  "parameter" + ": " +
36
             "string_value" + "\n" +
37
             "returns" + ": " +
38
             "boolean_value" + "\n" +
39
             "description" + ": " +
40
            "Returns true if the string parameter is a number.";
41
        }
42
}