[ 
https://issues.apache.org/jira/browse/SLING-1236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Dürig updated SLING-1236:
---------------------------------

    Attachment: SLING-1236.patch

Patch implementing suggested algorithm. 

For each value in the Binding instance declarations of the following form are 
inserted into the preamble:

  val currentNode = bindings.getValue("currentNode").asInstanceOf[Object]
  implicit def Object2Node(x: Object): Node = x.asInstanceOf[Node]

Thus making currentNode implicitly convertible (i.e. visible) on all its 
accessible interfaces. 






> Scala Scripting: Make all types of the script arguments visible on the Scala 
> side
> ---------------------------------------------------------------------------------
>
>                 Key: SLING-1236
>                 URL: https://issues.apache.org/jira/browse/SLING-1236
>             Project: Sling
>          Issue Type: Improvement
>          Components: Scripting
>            Reporter: Michael Dürig
>            Priority: Minor
>         Attachments: SLING-1236.patch
>
>
> Currently the Scala scripting engine inserts a preamble for the bindings 
> passed to a Script. The preamble contains a declaration of the following form 
> for each value in the Bindings instance:
>   val request: SlingHttpServletRequest = 
> bindings.get("request").asInstanceOf[SlingHttpServletRequest]
> The types are hard coded in the ScalaScriptEngine.TypeHints class. For 
> unknown types a declaration of type AnyRef is inserted into the preamble. 
> I suggest to implement a run time type discovery algorithm which discovers 
> the accessible type from a given instance and inserts the respective 
> declarations into the preamble. That way the static coupling between the 
> known values in Bindings and its types would go away. Furthermore the values 
> would be of a type appearing to be of all the visible types on the Scala side.

-- 
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