[ 
https://issues.apache.org/jira/browse/SLING-2993?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Felix Meschberger resolved SLING-2993.
--------------------------------------

    Resolution: Fixed

Commit the modified patch in Rev. 1516877.

Modification compared to the patch is, as discussed, replacement of the "final" 
modifier by JavaDoc indicating that extension and instantiation is not intended.
                
> Properly tag and annotate interfaces and classes
> ------------------------------------------------
>
>                 Key: SLING-2993
>                 URL: https://issues.apache.org/jira/browse/SLING-2993
>             Project: Sling
>          Issue Type: Task
>          Components: API
>    Affects Versions: API 2.4.2
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: API 2.5.0
>
>         Attachments: SLING-2993.patch
>
>
> The interfaces and classes in the Sling API bundle are not currently properly 
> documented as to who is intended to implement or extend these. In the 
> interest of stable extensibility, the types should be marked as follows:
>   * Exceptions: Nothing to mark. These are concrete classes intended for 
> extension
>   * Abstract Classes: Annotate with @ConsumerType. These are intended for 
> extension.
>   * Helper/Util/Constant Classes: Mark final because there is no use 
> extending them.
>   * Interfaces: For each interface decide whether they are implemented by a 
> single service (e.g. ResourceResovlerFactory) or by multiple service 
> providers (e.g. ResourceProvider).
> Technically the @ConsumerType annotation is not required because it is the 
> default. Yet, I think we should mark all non-@ProviderType types with 
> @ConsumerType to clarify the distinction.
> Will attach a proposed patch to this issue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to