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 2013/09/03 08:16:52 UTC

[jira] [Commented] (SLING-2993) Properly tag and annotate interfaces and classes

    [ https://issues.apache.org/jira/browse/SLING-2993?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13756384#comment-13756384 ] 

Carsten Ziegeler commented on SLING-2993:
-----------------------------------------

I'Ve updated the parent pom to use 2.4.0 of the maven bundle plugin
                
> 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, JCR
>    Affects Versions: JCR API 2.1.0, API 2.4.2
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: Parent 18, JCR API 2.2.0, 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