To work with the tool in Foresight Analytics Platform 10, use the new interface.
The function wizard for the JavaInvoke function looks as follows:
JavaInvoke(ClassName, MethodName, MethodSig, Param,…)
ClassName. The Java class name in the file system or the system unit name in the JNI signature. On specifying the Java class in the file system, file with the *.class extension is used.
MethodName. Executed method name.
MethodSig. JNI signature of the method.
Param1, Param2, …, ParamN. Parameters sent to method.
NOTE. To determine signatures in Java Native Interface (JNI) format, review the signature generation rules.
It returns result of static Java method execution.
NOTE. Before using the function, make sure that integration of Foresight Analytics Platform with Java is executed.
To execute the method, file with the *.class extension must be located at the path which is set using the Options string parameter in the registry key HKEY_CURRENT_USER\SOFTWARE\Foresight\Foresight Analytics Platform\10.0\DevEnv\Java. For details see Connecting External Units to Foresight Analytics Platform.
The function can contain several parameters. New formulas are added automatically in the formula wizard after the user puts the cursor into the field with parameter. If extra parameters are added, they should be left empty. If the function contains no parameters, leave the Param field empty.
Keep in mind the following when calling a Java function:
Class name and executed method name are case-sensitive.
Class containing the method must be implemented in a file or must be imported into a Java library.
Function parameters and returned result must have one of the following data types: Boolean, Byte, Short, Int, Long, Double, Float, Char.
TIP. For details about writing functions in the Java language, see Java documentation.
Consider the Java code:
public class math {
public static double staticFunc(double a, double b){
return (a + b)/2;
}
}
The table contains examples of formulas using the JavaInvoke function:
Formula | Result | Description |
=JavaInvoke("math", "staticFunc", "(DD)D", 4.0, 2.0) | 3.0 | The staticFunc arithmetic function is executed in the class named math. Parameters of real type are specified in the function - the a variable is set to 4.0, the b variable is set to 2.0. The method returns calculation result of arithmetic function. |
=JavaInvoke_("math", "staticFunc", "(DD)D",C3,C4) | 5.0 | The staticFunc arithmetic function is executed in the class named math. Parameters of real type are specified in the function - the a variable is set to the value specified in the C3 cell, the b variable is set to the value specified in the C4 cell. Value contained in the C3 cell is 4.0, in the C4 cell - 6.0. The method returns calculation result of arithmetic function. |
See also: