Как указать, что поля-члены по умолчанию являются @Nonnull?

Мой вопрос следует -до этого .

В прошлых версиях FindBugs можно было использовать @DefaultAnnotation(Nonnull.class)или @DefaultAnnotationForFields(Nonnull.class), чтобы указать, что все поля в пакете должны рассматриваться как @Nonnull. В текущей версии FindBugs (2.0 ), @DefaultAnnotationи @DefaultAnnotationForFieldsустарели, и вместо этого мы все должны использовать JSR -305. Но JSR -305, похоже, не охватывает всего, что охватывают (теперь устаревшие )аннотации FindBugs.

javadoc предлагает ряд альтернатив:

  • @ParametersAreNonnullByDefault. Это (очевидно )относится только к параметрам, а не к полям-членам.
  • @CheckReturnValue, когда применяется к типу или пакету. Опять же, это не относится к полям-членам.
  • @TypeQualifierDefault. Возможно, это может делать то, что я хочу, но я не понимаю, как это работает, и я не могу найти какую-либо документацию или примеры по его использованию или намерениям, кроме некоторого загадочного javadoc. Думаю, это поможет мне создавать собственные аннотации, но могу ли я быть уверен, что все инструменты (FindBugs, Eclipse и т. д. )правильно интерпретируют эту новую аннотацию (или даже вообще )?

Документ javadoc не дает никаких советов о том, как бороться с его устаревшим.

Итак, используя текущие версии FindBugs и/или JSR -305, как мне указать, что все поля-члены в определенном пакете (или даже в определенном классе )должны рассматриваться как @Nonnull? Это вообще возможно?

21
задан Community 23 May 2017 в 10:31
поделиться