[ https://issues.apache.org/jira/browse/SLING-6183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15610296#comment-15610296 ]
Justin Edelson commented on SLING-6183: --------------------------------------- Assuming we are talking about the Jackson exporter in this patch, no, the JSON objects would be generated by Jackson using the options of the top-level resource. Again, an Exporter which allows each child object to specify a different JSON Exporter is totally possible, just not part of this patch. > Sling Models - Provide a mechanism to export model objects via servlets > ----------------------------------------------------------------------- > > Key: SLING-6183 > URL: https://issues.apache.org/jira/browse/SLING-6183 > Project: Sling > Issue Type: New Feature > Components: Extensions > Reporter: Justin Edelson > Fix For: Sling Models API 1.3.0, Sling Models Impl 1.3.0 > > Attachments: SLING-6183.patch > > > I would like to introduce a new feature to Sling Models named Exporters. > Exporters allow for a model class to be exported into a specific Java object > type in a automated fashion. The simplest example is to support String > serialization, although different Exporters may support whatever target > classes they see fit. > Exporters are implemented through an SPI. This initial contribution includes > an exporter using the Jackson library which supports both {{String}} and > {{Map}} exports. > Interfacing with the registered Exporters is done through three new methods > on the {{ModelFactory}} interface: > * {{exportMode}} > * {{exportModelForResource}} > * {{exportModelForRequest}} > In addition, using these functionality, model objects can have > automatically-registered servlets which export the model (from either the > request or the request's resource) as a {{String}} and then serve that > {{String}} to the client. > Registering these servlets is done through a new annotation named > {{@Exporter}} > For example, you might add this annotation to a Model class > {{@Exporter(name = 'jackson', extension = 'json')}} > This will register a servlet for the model's resource type with the extension > `json` and a selector of `model` (by default, the {{@Exporter}} annotation > can also define a different selector). -- This message was sent by Atlassian JIRA (v6.3.4#6332)