Extend the scripting api to allow calls of methods defined in a script
----------------------------------------------------------------------

                 Key: SLING-320
                 URL: https://issues.apache.org/jira/browse/SLING-320
             Project: Sling
          Issue Type: New Feature
          Components: Scripting
            Reporter: Carsten Ziegeler
            Assignee: Carsten Ziegeler


This is the suggestion as distilled from the mailing list:

 a) Add the return value to the eval() method

b) Wwe create a new SlingScript.call(String method,
Object... args) method which will be implemented such, that a new
(virtual) script is created from the original script appended with the
method call.

Example: Let the script source be 

        function sampleFunction() {
           ...
        }
        function anotherFunction(arg1, arg2) {
           ...
        }

Now, we call script.call("sampleFunction", null).

This would result in the virtual (combined) script:

        function sampleFunction() {
           ...
        }
        function anotherFunction(arg1, arg2) {
           ...
        }
        sampleFunction();

Likewise, calling script.call("anotherFunction", 5, "astring") would get
the virtual script:

        function sampleFunction() {
           ...
        }
        function anotherFunction(arg1, arg2) {
           ...
        }
        anotherFunction(5, "astring");

To build the method call, we may use the
ScriptEngineFactory.getMethodCallSyntax().

Finally the virtual script is actually evaluated.

This would also allow this for any scripting language ...


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to