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;
Parameters
Stringcode The code of the calculation, this must be a full function declaration.
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.
Parameters
Stringname the name of the calculation to be removed
Returns:Boolean 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]);}
Returns:Boolean 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.