Index: doc/manual/annotations.html |
diff --git a/doc/manual/annotations.html b/doc/manual/annotations.html |
index a9909f96e083ff17e244ed254329e1259fa10a8c..000d67a44135dc8ae1a718d703a20f0868600a08 100644 |
--- a/doc/manual/annotations.html |
+++ b/doc/manual/annotations.html |
@@ -1,23 +1,26 @@ |
<html><head> |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
- <title>Chapter 10. Annotations</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs™ Manual"><link rel="up" href="index.html" title="FindBugs™ Manual"><link rel="prev" href="analysisprops.html" title="Chapter 9. Analysis Properties"><link rel="next" href="rejarForAnalysis.html" title="Chapter 11. Using rejarForAnalysis"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. Annotations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="analysisprops.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="rejarForAnalysis.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 10. Annotations"><div class="titlepage"><div><div><h2 class="title"><a name="annotations"></a>Chapter 10. Annotations</h2></div></div></div><p> |
+ <title>Chapter 10. Annotations</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="FindBugs™ Manual"><link rel="up" href="index.html" title="FindBugs™ Manual"><link rel="prev" href="analysisprops.html" title="Chapter 9. Analysis Properties"><link rel="next" href="rejarForAnalysis.html" title="Chapter 11. Using rejarForAnalysis"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. Annotations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="analysisprops.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="rejarForAnalysis.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="annotations"></a>Chapter 10. Annotations</h1></div></div></div><p> |
<span class="application">FindBugs</span> supports several annotations to express the developer's intent |
so that FindBugs can issue warnings more appropriately. You need to use |
Java 5 to use annotations, and must place the annotations.jar and jsr305.jar |
files in the classpath while compiling your program. |
-</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.CheckForNull</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter |
- <p> |
+</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.CheckForNull</strong></span></span></dt><dd><p> |
+ <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter |
+ </p><p> |
The annotated element might be null, and uses of the element should check for null. |
When this annotation is applied to a method it applies to the method return value. |
- </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.CheckReturnValue</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Method, Constructor |
- <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
+ </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.CheckReturnValue</strong></span></span></dt><dd><p> |
+ <span class="command"><strong>[Target]</strong></span> Method, Constructor |
+ </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
<span class="command"><strong>priority:</strong></span>The priority of the warning (HIGH, MEDIUM, LOW, IGNORE). Default value:MEDIUM. |
</p><p> |
<span class="command"><strong>explanation:</strong></span>A textual explaination of why the return value should be checked. Default value:"". |
</p></dd></dl></div><p> |
This annotation is used to denote a method whose return value should always be checked after invoking the method. |
- </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotation</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Package |
- <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
+ </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotation</strong></span></span></dt><dd><p> |
+ <span class="command"><strong>[Target]</strong></span> Type, Package |
+ </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
<span class="command"><strong>value:</strong></span>Annotation class objects. More than one class can be specified. |
</p><p> |
<span class="command"><strong>priority:</strong></span>Default priority(HIGH, MEDIUM, LOW, IGNORE). Default value:MEDIUM. |
@@ -27,42 +30,48 @@ value of the supplied annotation classes. This would be used for behavior annota |
such as @NonNull, @CheckForNull, or @CheckReturnValue. In particular, you can use |
@DefaultAnnotation(NonNull.class) on a class or package, and then use @Nullable only |
on those parameters, methods or fields that you want to allow to be null. |
- </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForFields</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Package |
- <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
+ </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForFields</strong></span></span></dt><dd><p> |
+ <span class="command"><strong>[Target]</strong></span> Type, Package |
+ </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
<span class="command"><strong>value:</strong></span>Annotation class objects. More than one class can be specified. |
</p><p> |
<span class="command"><strong>priority:</strong></span>Default priority(HIGH, MEDIUM, LOW, IGNORE). Default value:MEDIUM. |
</p></dd></dl></div><p> |
This is same as the DefaultAnnotation except it only applys to fields. |
- </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForMethods</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Package |
- <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
+ </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForMethods</strong></span></span></dt><dd><p> |
+ <span class="command"><strong>[Target]</strong></span> Type, Package |
+ </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
<span class="command"><strong>value:</strong></span>Annotation class objects. More than one class can be specified. |
</p><p> |
<span class="command"><strong>priority:</strong></span>Default priority(HIGH, MEDIUM, LOW, IGNORE). Default value:MEDIUM. |
</p></dd></dl></div><p> |
This is same as the DefaultAnnotation except it only applys to methods. |
- </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForParameters</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Package |
- <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
+ </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForParameters</strong></span></span></dt><dd><p> |
+ <span class="command"><strong>[Target]</strong></span> Type, Package |
+ </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
<span class="command"><strong>value:</strong></span>Annotation class objects. More than one class can be specified. |
</p><p> |
<span class="command"><strong>priority:</strong></span>Default priority(HIGH, MEDIUM, LOW, IGNORE). Default value:MEDIUM. |
</p></dd></dl></div><p> |
This is same as the DefaultAnnotation except it only applys to method parameters. |
- </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.NonNull</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter |
- <p> |
+ </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.NonNull</strong></span></span></dt><dd><p> |
+ <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter |
+ </p><p> |
The annotated element must not be null. |
Annotated fields must not be null after construction has completed. Annotated methods must have non-null return values. |
- </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.Nullable</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter |
- <p> |
+ </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.Nullable</strong></span></span></dt><dd><p> |
+ <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter |
+ </p><p> |
The annotated element could be null under some circumstances. In general, this means |
developers will have to read the documentation to determine when a null value is |
acceptable and whether it is neccessary to check for a null value. FindBugs will |
treat the annotated items as though they had no annotation. |
</p><p> |
-In pratice this annotation is useful only for overriding an overarching NonNull |
+In practice this annotation is useful only for overriding an overarching NonNull |
annotation. |
- </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.OverrideMustInvoke</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Method |
- <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
+ </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.OverrideMustInvoke</strong></span></span></dt><dd><p> |
+ <span class="command"><strong>[Target]</strong></span> Method |
+ </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
<span class="command"><strong>value:</strong></span>Specify when the super invocation should be |
performed (FIRST, ANYTIME, LAST). Default value:ANYTIME. |
</p></dd></dl></div><p> |
@@ -73,8 +82,9 @@ at any time, at the beginning of the overriding method, or at the end of the ove |
(This anotation is not implmemented in FindBugs as of September 8, 2006). |
</p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.PossiblyNull</strong></span></span></dt><dd><p> |
This annotation is deprecated. Use CheckForNull instead. |
- </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.SuppressWarnings</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Field, Method, Parameter, Constructor, Package |
- <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
+ </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.SuppressWarnings</strong></span></span></dt><dd><p> |
+ <span class="command"><strong>[Target]</strong></span> Type, Field, Method, Parameter, Constructor, Package |
+ </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> |
<span class="command"><strong>value:</strong></span>The name of the warning. More than one name can be specified. |
</p><p> |
<span class="command"><strong>justification:</strong></span>Reason why the warning should be ignored. Default value:"". |
@@ -86,15 +96,17 @@ must ignore any warning names they do not recognize. They are, however, free to |
warning if an annotation contains an unrecognized warning name. Compiler vendors should |
document the warning names they support in conjunction with this annotation type. They |
are encouraged to cooperate to ensure that the same names work across multiple compilers. |
- </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.UnknownNullness</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter |
- <p> |
+ </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.UnknownNullness</strong></span></span></dt><dd><p> |
+ <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter |
+ </p><p> |
Used to indicate that the nullness of the target is unknown, or my vary in unknown ways in subclasses. |
- </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.UnknownNullness</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter |
- <p> |
+ </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.UnknownNullness</strong></span></span></dt><dd><p> |
+ <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter |
+ </p><p> |
Used to indicate that the nullness of the target is unknown, or my vary in unknown ways in subclasses. |
</p></dd></dl></div><p> |
<span class="application">FindBugs</span> also supports the following annotations: |
-</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">net.jcip.annotations.GuardedBy</li><li class="listitem">net.jcip.annotations.Immutable</li><li class="listitem">net.jcip.annotations.NotThreadSafe</li><li class="listitem">net.jcip.annotations.ThreadSafe</li></ul></div><p> |
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>net.jcip.annotations.GuardedBy</p></li><li class="listitem"><p>net.jcip.annotations.Immutable</p></li><li class="listitem"><p>net.jcip.annotations.NotThreadSafe</p></li><li class="listitem"><p>net.jcip.annotations.ThreadSafe</p></li></ul></div><p> |
</p><p> |
You can refer the JCIP annotation <a class="ulink" href="http://jcip.net/annotations/doc/index.html" target="_top"> |
API documentation</a> at <a class="ulink" href="http://jcip.net/" target="_top">Java Concurrency in Practice</a>. |