Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libExpressions / src / main / java / org / gvsig / operators / Replace.java @ 23299

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

    
14
        public String addText(String s) {
15
                return toString()+"("+s+" , \"\",\"\")";
16
        }
17
        public String toString() {
18
                return "replace";
19
        }
20
        public void eval(BSFManager interpreter) throws BSFException {
21
//                interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"String replace(String value1,String value2,String value3){return value1.replaceAll(value2,value3);};");
22
                interpreter.exec(EvalOperatorsTask.JYTHON,null,-1,-1,"def replace(value1,value2,value3):\n" +
23
                                "  return value1.replace(value2,value3)");
24
        }
25
        public boolean isEnable() {
26
                return (getType()==IOperator.STRING);
27
        }
28
        public String getTooltip(){
29
                return "operator"+":  "+toString()+"("+"parameter"+"1,"+"parameter"+"2, "+"parameter"+"3"+")"+"\n"+getDescription();
30
        }
31
        public String getDescription() {
32
        return  "parameter" + "1"+": " +
33
         "string_value" + "\n"+
34
         "parameter" + "2"+": " +
35
         "string_value" + "\n"+
36
         "parameter" + "3"+": " +
37
         "string_value" + "\n"+
38
         "returns" + ": " +
39
         "string_value" + "\n" +
40
         "description" + ": " +
41
        "Replaces each substring(parameter2) of parameter1 string that matches the given regular expression with the given replacement parameter3";
42
    }
43
}