var method = solutionModel.getDataSourceNode("db:/example_data/orders").newMethod("function doubleSize() { return 2*getSize(); }");
application.output('Doubled orders for this customer: '+customers_to_orders.doubleSize())
getMethods()
Gets all the foundset methods for the datasource node.
var method = solutionModel.getDataSourceNode("db:/example_data/orders").newMethod("function doubleSize() { return 2*getSize(); }");
application.output('Doubled orders for this customer: '+customers_to_orders.doubleSize())
newCalculation(code)
Creates a new calculation for the given code, the type will be the column where it could be build on (if name is a column name), else it will default to JSVariable.TEXT;
ParametersString code The code of the calculation, this must be a full function declaration.
var calc = solutionModel.getDataSourceNode("db:/example_data/customers").newCalculation("function myCalculation() { return 123; }", JSVariable.INTEGER);
var calc2 = solutionModel.getDataSourceNode("db:/example_data/customers").newCalculation("function myCalculation2() { return '20'; }");
var calc3 = solutionModel.getDataSourceNode("db:/example_data/employees").newCalculation("function myCalculation3() { return 'Hello World!'; }", JSVariable.TEXT);
var c =solutionModel.getDataSourceNode("db:/example_data/customers").getCalculation("myCalculation");application.output("Name: "+c.getName() +", Stored: "+c.isStored());var allCalcs =solutionModel.getDataSourceNode("db:/example_data/customers").getCalculations();for (var i =0; i <allCalcs.length; i++) {application.output(allCalcs[i]);}
newCalculation(code, type)
Creates a new calculation for the given code and the type, if it builds on a column (name is a column name) then type will be ignored.
ParametersString code The code of the calculation, this must be a full function declaration.
Number type The type of the calculation, one of the JSVariable types.
var method = solutionModel.getDataSourceNode("db:/example_data/orders").newMethod("function doubleSize() { return 2*getSize(); }");
application.output('Doubled orders for this customer: '+customers_to_orders.doubleSize())
removeCalculation(name)
Removes the calculation specified by name.
ParametersString name the name of the calculation to be removed
ReturnsBoolean true if the removal was successful, false otherwise
Sample
var calc1 = solutionModel.getDataSourceNode("db:/example_data/customers").newCalculation("function myCalculation1() { return 123; }", JSVariable.INTEGER);
var calc2 = solutionModel.getDataSourceNode("db:/example_data/customers").newCalculation("function myCalculation2() { return '20'; }");
var c =solutionModel.getDataSourceNode("db:/example_data/customers").getCalculation("myCalculation1");application.output("Name: "+c.getName() +", Stored: "+c.isStored());solutionModel.getDataSourceNode("db:/example_data/customers").removeCalculation("myCalculation1");c =solutionModel.getDataSourceNode("db:/example_data/customers").getCalculation("myCalculation1");if (c !=null) {application.output("myCalculation could not be removed.");}var allCalcs =solutionModel.getDataSourceNode("db:/example_data/customers").getCalculations();for (var i =0; i <allCalcs.length; i++) {application.output(allCalcs[i]);}
removeMethod(name)
Removes the foundset method specified by name.
ParametersString name the name of the method to be removed
ReturnsBoolean true if the removal was successful, false otherwise
Sample
var method1 = solutionModel.getDataSourceNode("db:/example_data/customers").newMethod("function myFoundsetMethod1() { return 123; }");
var method2 = solutionModel.getDataSourceNode("db:/example_data/customers").newCalculation("function myFoundsetMethod2() { return '20'; }");
var m =solutionModel.getDataSourceNode("db:/example_data/customers").getMethod("myFoundsetMethod1");application.output("Name: "+m.getName());solutionModel.getDataSourceNode("db:/example_data/customers").removeMethod("myFoundsetMethod1");m =solutionModel.getDataSourceNode("db:/example_data/customers").getCalculation("myFoundsetMethod1");if (m !=null) { application.output("myFoundsetMethod1 could not be removed."); }var allMethods =solutionModel.getDataSourceNode("db:/example_data/customers").getMethod();for (var i =0; i < allMethods; i++){application.output(allMethods[i]);}
Creates a new calculation for the given code, the type will be the column where it could be build on (if name is a column name), else it will default to JSVariable..