[
https://issues.apache.org/jira/browse/SLING-3267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13842418#comment-13842418
]
Carsten Ziegeler commented on SLING-3267:
-----------------------------------------
>From the API docs of ResourceDecorator:
* the new resource. If the service does not want to decorate
* the resource, it should return the original resource.
* Returning <code>null</code> is considered the same as
* returning the original resource.
So everything is documented properly I think and we shouldn't change this
> ResourceDecorator returning null should cause Resources to be ignored
> ---------------------------------------------------------------------
>
> Key: SLING-3267
> URL: https://issues.apache.org/jira/browse/SLING-3267
> Project: Sling
> Issue Type: Improvement
> Components: ResourceResolver
> Affects Versions: Resource Resolver 1.0.6
> Reporter: Bertrand Delacretaz
> Assignee: Bertrand Delacretaz
> Priority: Minor
> Attachments: SLING-3267.patch
>
>
> The ResourceDecorator API's decorate(...) method javadocs currently specify
> that it can return null, but I don't think that's supported in a consistent
> way in the resource resolving process - returning null causes the resource
> resolver to supply a null Resource in some cases, which will probably cause
> NPEs downstream.
> The javadocs also say "If the service does not want to decorate the resource,
> it should return the original resource" which is consistent with how the
> resource resolver currently operates: returning null is clearly not a way of
> saying "do not decorate this resource".
> As we're discussing feature flags in Sling, we could clarify this behavior by
> specifying that a ResourceDecorator returning null causes the resource to be
> considered as non-existent, and making the corresponding (rather small)
> changes in the resource resolver code.
> As every Resource needs to go through the available ResourceDecorators, this
> is a simple way of making resources hideable based on feature flags. One then
> just needs to implement a ResourceDecorator that returns null when a Resource
> must be ignored.
--
This message was sent by Atlassian JIRA
(v6.1#6144)