[
https://issues.apache.org/jira/browse/SLING-4275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14264529#comment-14264529
]
Radu Cotescu commented on SLING-4275:
-------------------------------------
The {{Record}} interface is also used for the JavaScript Use-API for being able
to translate Java objects into JavaScript objects and back.
Regarding the proposed changes of the {{RenderContext}} I'm not really sure we
should modify it. The {{RenderContext}} class is used by extensions to process
dynamic objects from Sightly templates (therefore providing rendering
assistance) - this also involves sometimes object traversal and value
conversion. Given that extensions could exist outside of the Sightly
implementation from Sling this would turn into a backwards compatibility issue.
> Review of the Sightly API
> -------------------------
>
> Key: SLING-4275
> URL: https://issues.apache.org/jira/browse/SLING-4275
> Project: Sling
> Issue Type: Task
> Components: Scripting
> Reporter: Carsten Ziegeler
> Fix For: Scripting Sightly Engine 1.0.0
>
>
> I have some comments about the public Sightly API:
> 1. There are several exceptions, like SightlyException,
> RuntimeExtensionException, SightlyUseException - are these really required?
> The API does not mention any method/interface throwing such an exception
> 2. RuntimeExtension and ExtensionInstance - I think we can get rid of the
> RuntimeExtension interface and simply pass the RenderContext in
> ExtensionInstance#call.
> 3. The purpose of the Record interface is a little bit unclear to me. In
> addition it has a T get(String) method while properties returns a
> Set<String>. I guess the engine supports a Map, so maybe we can get rid of
> this interface?
> 4. ResourceResolution seems to contain methods for getting scripts. Isn't
> this some functionalty the existing ServletResolver component provides? Or if
> not, shouldn't we move this to the Sling API?
> 5. Many of the methods in the RenderContext are Object traversal and value
> conversion methods. I think this needs to go into a separate service (and
> maybe package)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)