You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Carsten Ziegeler (JIRA)" <ji...@apache.org> on 2015/01/02 13:44:13 UTC

[jira] [Created] (SLING-4275) Review of the Sightly API

Carsten Ziegeler created SLING-4275:
---------------------------------------

             Summary: 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)

6. UseProvider services. What about registering such a service with a required property indicating the identifiers it provides instead of requiring to ask each and every provider?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)