You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Konrad Windszus (JIRA)" <ji...@apache.org> on 2015/02/17 11:34:12 UTC

[jira] [Resolved] (SLING-4377) Add JSR305 nullness annotations to Sling API

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

Konrad Windszus resolved SLING-4377.
------------------------------------
    Resolution: Fixed

Applied the patch in rev. 1660344.

> Add JSR305 nullness annotations to Sling API
> --------------------------------------------
>
>                 Key: SLING-4377
>                 URL: https://issues.apache.org/jira/browse/SLING-4377
>             Project: Sling
>          Issue Type: Improvement
>          Components: API
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>             Fix For: API 2.9.0
>
>
> Since consumers of the Sling API always have to keep in mind whether a null-check is necessary it would be good to add JSR 305 annotations to the API.
> See also http://www.mail-archive.com/dev@sling.apache.org/msg42199.html.
> At least Eclipse as well as Findbugs are supporting those and Oak Solr is using those already (https://issues.apache.org/jira/browse/OAK-2303).
> Only the following 2 annotations should be used:
> # {{@Nonnull}}, for return values which are not supposed to be {{null}} or parameters which must not be {{null}}.
> # {{@CheckForNull}}, for return values wich may be null {{null}}.
> Those are the only ones being supported by both Eclipse and Findbugs (compare with http://sourceforge.net/p/findbugs/bugs/1355/)
> {{@Nullable}} is basically ignored by Findbugs (http://findbugs.sourceforge.net/manual/annotations.html) and should therefore not be used. The package annotation for the default handling should also not be used (because either {{@Nullable}} or {{@CheckForNull}} is ignored by Eclipse then.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)