Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / extensions / extExpressionField / src / com / iver / cit / gvsig / project / documents / table / operators / Random.java @ 24545

History | View | Annotate | Download (1.51 KB)

1 10229 caballero
package com.iver.cit.gvsig.project.documents.table.operators;
2
3
import org.apache.bsf.BSFException;
4
import org.apache.bsf.BSFManager;
5
6 13444 caballero
import com.iver.andami.PluginServices;
7
import com.iver.cit.gvsig.ExpressionFieldExtension;
8 10229 caballero
import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
9
import com.iver.cit.gvsig.project.documents.table.IOperator;
10
11
/**
12
 * @author Vicente Caballero Navarro
13
 */
14
public class Random extends AbstractOperator{
15
16
        public String addText(String s) {
17
                return s.concat(toString()+"()");
18
        }
19
        public String toString() {
20
                return "random";
21
        }
22
        public void eval(BSFManager interpreter) throws BSFException {
23 13444 caballero
//                interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double random(){return java.lang.Math.random();};");
24
                interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def random():\n" +
25
                                "  import java.lang.Math\n" +
26
                                "  return java.lang.Math.random()");
27 10229 caballero
        }
28
        public boolean isEnable() {
29
                return (getType()==IOperator.NUMBER);
30
        }
31 13444 caballero
        public String getTooltip(){
32
                return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
33
        }
34
        public String getDescription() {
35
        return PluginServices.getText(this, "returns") + ": " +
36
        PluginServices.getText(this, "numeric_value") + "\n" +
37
        PluginServices.getText(this, "description") + ": " +
38
        "Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0. Returned values are chosen pseudorandomly with (approximately) uniform distribution from that range.";
39
    }
40 10229 caballero
}