Radu Cotescu created SLING-8737:
-----------------------------------

             Summary: Add support for lazily-evaluated bindings
                 Key: SLING-8737
                 URL: https://issues.apache.org/jira/browse/SLING-8737
             Project: Sling
          Issue Type: New Feature
          Components: Scripting
            Reporter: Radu Cotescu
             Fix For: Scripting Core 2.1.0


The {{org.apache.sling.scripting.core}} module provides support for passing a 
{{javax.script.Bindings}} to script engines. The current implementation relies 
directly on {{javax.script.SimpleBindings}}, which means that the values with 
which the map is populated have to be computed before insertion. In some cases 
these computations are not trivial, however there's no guarantee that the value 
will actually be used.

In order to optimise the {{Bindings}} usage, given that Java 8 and above 
provide the 
[{{Supplier}}|https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html]
 functional interface, the {{org.apache.sling.scripting.core}} module should 
optionally allow {{BindingsValuesProvider}}s to provide {{Supplier}}s, which 
are invoked on-demand.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to