+1

On Mon, Aug 5, 2013 at 11:18 AM, Amit.. Gupta. <amitg...@adobe.com> wrote:

> +1
>
> Regards,
> Amit
>
> -----Original Message-----
> From: Felix Meschberger [mailto:fmesc...@adobe.com]
> Sent: 05 August 2013 20:35
> To: dev@sling.apache.org
> Subject: [DISCUSS] Consider implementors of Sling API
>
> Hi all
>
> While working on SLING-2944 [1] it occurred to me that we do not currently
> take good care to differentiate between interfaces to be implemented by a
> single bundle (such as SlingHttpServletRequest) and interfaces which may be
> implemented by multiple bundles to extend some functionality (such as
> ResourceProvider).
>
> Also, we have a number of constant, helper, and utility type classes in
> the Sling API, which we should not make available to extensibility.
>
> I have created SLING-2993 [2] and provided a patch to the Sling API such
> that:
>
> * All classes intended for extension remain unchanged
> * All classes not intended for extension are marked final
> * All interfaces intended to be implemented by multiple bundles
> (providers) are marked @ConsumerType
> * All interfaces intended to be implemented by a single bundle are marked
> as @ProviderType
>
> This change also requires to update the Maven Bundle Plugin version in the
> Sling parent POM to 2.4.0.
>
> This change would prevent us from collateral damage such in the context of
> SLING-2944 where the Servlet Resolver, Filesystem Resource Provider, and
> Bundle Resource Provider bundles have to be updated just because the
> ResourceResolverFactory API has been extended.
>
> WDYT ?
>
> Regards
> Felix
>
> [1] https://issues.apache.org/jira/browse/SLING-2944
> [2] https://issues.apache.org/jira/browse/SLING-2993
>

Reply via email to