Statistics
| Revision:

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

History | View | Annotate | Download (1.06 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 Length extends AbstractOperator{
13

    
14
        public String addText(String s) {
15
                return toString()+"("+s+")";
16
        }
17
        public String toString() {
18
                return "length";
19
        }
20
        public void eval(BSFManager interpreter) throws BSFException {
21
//                interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"int length(String value){return value.length();};");
22
                interpreter.exec(EvalOperatorsTask.JYTHON,null,-1,-1,"def length(value):\n" +
23
                                "  return len(value)");
24
        }
25
        public boolean isEnable() {
26
                return (getType()==IOperator.STRING);
27
        }
28
        public String getDescription() {
29
            return  "parameter" + ": " +
30
             "string_value" + "\n" +
31
             "returns" + ": " +
32
             "numeric_value" + "\n" +
33
             "description" + ": " +
34
            "Returns the length of string parameter.";
35
        }
36
}