DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR.
Enter additional information related to this 'class' inside the {div} macro with 'id=description'
{column:width=80px|padding=0px}{column}{column}{column}
Method Summary
getCalculation(name)
Get an existing calculation for the datasource node.
getCalculations()
Gets all the calculations for the datasource node.
getDataSource()
Get the data source for this node.
JSMethod[]
getMethods()
Gets all the foundset methods for the datasource node.
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.
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.
removeCalculation(name)
Removes the calculation specified by name.
removeMethod(name)
Removes the foundset method specified by name.
{column:width=100%|padding=0px}{column}
Method Details
getCalculation
(name)
Get an existing calculation for the datasource node.
Sample
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]); }
getCalculations
()
Gets all the calculations for the datasource node.
Sample
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]); }
getDataSource
()
Get the data source for this node.
Sample
var nodeDataSource = solutionModel.getDataSourceNode("db:/example_data/customers").getDataSource();
getMethod
(name)
Get an existing foundset method for the datasource node.
Sample
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())
JSMethod[]
getMethods
()
Gets all the foundset methods for the datasource node.
Sample
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
{String} code – The code of the calculation, this must be a full function declaration.
Sample
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.
Sample
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]); }
newMethod
(code)
Creates a new foundset method with the specified code.
Parameters
{String} code – the specified code for the foundset method
Sample
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
{String} name – 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]); }
removeMethod
(name)
Removes the foundset method specified by name.
Parameters
{String} name – the name of the method to be removed
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]); }