Idea-Version 14 enthält Unterstützung für die JSR 305-Annotation "@TypeQualifierDefault", mit der der Benutzer eine benutzerdefinierte Annotation erstellen kann, die in einer Paketdeklaration in einer package-info.java-Datei verwendet wird In diesem Paket (nicht nur Parameter, sondern auch Methodenrückgabewerte, lokale Variablen usw.) werden implizit Annotationen vorgenommen, die keine Nullwerte zulassen.
Leider wirkt sich dies (derzeit) nicht rekursiv auf Unterpakete aus. Daher muss jedes Unterpaket auch eine package-info.java-Datei enthalten, die dieses Unterpaket zur Verwendung der Anmerkung deklariert.
Siehe hier für weitere Details und ein Beispiel für die Verwendung:
http://youtrack.jetbrains.com/issue/IDEA-125281
Beachten Sie, dass dies bereits in Early Access Programm implementiert wird (EAP) aufbaut.
Ist das nicht '@ Nonnull' statt (JSR 305)? IDEA kann '@ NotNull' verwenden, aber dies ist eine andere Anmerkung. – fge
@fge Danke, ich habe es behoben. –
Übrigens, was würden Sie von dieser Anmerkung machen? Ist das für statische Quellcodeanalyse? IDEA kann FindBugs verwenden, dafür gibt es ein Plugin. Zur Verwendung dieser Anmerkungen befolge ich Guices Ratschlag: Methodenparameter dürfen nicht null sein, wenn sie nicht mit '@ Nullable' versehen sind. Aber das ist eine Frage der Politik ... – fge