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