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