Interface SlingScript


  • @ConsumerType
    public interface SlingScript
    The SlingScript defines the API for objects which encapsulate a script. To evaluate a script prepare a SlingBindings instance of variables used as global variables to the script and call the eval(SlingBindings) method.

    You can obtain scripts by resolving a script resource through ResourceResolver.resolve(String) and then trying to adapt the resource to a script by calling Adaptable.adaptTo(Class).

    • Method Detail

      • getScriptResource

        @NotNull
        @NotNull Resource getScriptResource()
        Returns the Resource providing the script source code.
        Returns:
        The script resource.
      • eval

        Object eval​(@NotNull
                    @NotNull SlingBindings props)
        Evaluates this script using the bound variables as global variables to the script.
        Parameters:
        props - The SlingBindings providing the bound variables for evaluating the script. Any bound variables must conform to the requirements of the SlingBindings predefined variables set.
        Returns:
        The value returned by the script.
        Throws:
        ScriptEvaluationException - If an error occurs executing the script or preparing the script execution. The cause of the evaluation exception is available as the exception cause.
      • call

        Object call​(@NotNull
                    @NotNull SlingBindings props,
                    @NotNull
                    @NotNull String method,
                    Object... args)
        Evaluates this script using the bound variables as global variables to the script and then calls the given method with the arguments.
        Parameters:
        props - The SlingBindings providing the bound variables for evaluating the script. Any bound variables must conform to the requirements of the SlingBindings predefined variables set.
        method - The name of the method to call.
        args - The arguments for the method call.
        Returns:
        The value returned by the method from the script.
        Throws:
        ScriptEvaluationException - If an error occurs executing the script or preparing the script execution. The cause of the evaluation exception is available as the exception cause.