1 <html><head> 2 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 3 <title>第10章 アノテーション</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs™ マニュアル"><link rel="up" href="index.html" title="FindBugs™ マニュアル"><link rel="prev" href="analysisprops.html" title="第9章 分析プロパティー"><link rel="next" href="rejarForAnalysis.html" title="第11章 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">第10章 アノテーション</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="analysisprops.html">戻る</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="rejarForAnalysis.html">次へ</a></td></tr></table><hr></div><div class="chapter" title="第10章 アノテーション"><div class="titlepage"><div><div><h2 class="title"><a name="annotations"></a>第10章 アノテーション</h2></div></div></div><p><span class="application">FindBugs</span> はいくつかのアノテーションをサポートしています。開発者の意図を明確にすることで、 FindBugs はより的確に警告を発行することができます。アノテーションを使用するためには Java 5 が必要であり、 annotations.jar および jsr305.jar ファイルをコンパイル時のクラスパスに含める必要があります。</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 4 <p>アノテーションをつけた要素は、 null である可能性があります。したがって、当該要素を使用する際は null チェックをするべきです。このアノテーションをメソッドに適用すると、メソッドの戻り値に適用されます。</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 5 <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> 6 <span class="command"><strong>priority:</strong></span> 警告の優先度を指定します (HIGH, MEDIUM, LOW, IGNORE) 。デフォルト値 :MEDIUM。</p><p> 7 <span class="command"><strong>explanation:</strong></span>戻り値をチェックしなけばならない理由をテキストで説明します。デフォルト値 :""。</p></dd></dl></div><p>このアノテーションを使用して、呼出し後に戻り値をチェックすべきメソッドを表すことができます。</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 8 <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> 9 <span class="command"><strong>value:</strong></span>アノテーションクラスのclassオブジェクト。複数のクラスを指定することができます。</p><p> 10 <span class="command"><strong>priority:</strong></span>省略時の優先度を指定します (HIGH, MEDIUM, LOW, IGNORE) 。デフォルト値 :MEDIUM。</p></dd></dl></div><p> 11 Indicates that all members of the class or package should be annotated with the default 12 value of the supplied annotation classes. This would be used for behavior annotations 13 such as @NonNull, @CheckForNull, or @CheckReturnValue. In particular, you can use 14 @DefaultAnnotation(NonNull.class) on a class or package, and then use @Nullable only 15 on those parameters, methods or fields that you want to allow to be null. 16 </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 17 <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> 18 <span class="command"><strong>value:</strong></span>アノテーションクラスのclassオブジェクト。複数のクラスを指定することができます。</p><p> 19 <span class="command"><strong>priority:</strong></span>省略時の優先度を指定します (HIGH, MEDIUM, LOW, IGNORE) 。デフォルト値 :MEDIUM。</p></dd></dl></div><p> 20 This is same as the DefaultAnnotation except it only applys to fields. 21 </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 22 <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> 23 <span class="command"><strong>value:</strong></span>アノテーションクラスのclassオブジェクト。複数のクラスを指定することができます。</p><p> 24 <span class="command"><strong>priority:</strong></span>省略時の優先度を指定します (HIGH, MEDIUM, LOW, IGNORE) 。デフォルト値 :MEDIUM。</p></dd></dl></div><p> 25 This is same as the DefaultAnnotation except it only applys to methods. 26 </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 27 <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> 28 <span class="command"><strong>value:</strong></span>アノテーションクラスのclassオブジェクト。複数のクラスを指定することができます。</p><p> 29 <span class="command"><strong>priority:</strong></span>省略時の優先度を指定します (HIGH, MEDIUM, LOW, IGNORE) 。デフォルト値 :MEDIUM。</p></dd></dl></div><p> 30 This is same as the DefaultAnnotation except it only applys to method parameters. 31 </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 32 <p>アノテーションをつけた要素は、 null であってはいけません。アノテーションをつけたフィールドは、構築完了後 null であってはいけません。アノテーションをつけたメソッドは、 null ではない値を戻り値としなければなりません。</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 33 <p>アノテーションをつけた要素は、 null であってはいけません。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> 34 In pratice this annotation is useful only for overriding an overarching NonNull 35 annotation. 36 </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 37 <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> 38 <span class="command"><strong>value:</strong></span>Specify when the super invocation should be 39 performed (FIRST, ANYTIME, LAST). Default value:ANYTIME. 40 </p></dd></dl></div><p> 41 Used to annotate a method that, if overridden, must (or should) be invoke super 42 in the overriding method. Examples of such methods include finalize() and clone(). 43 The argument to the method indicates when the super invocation should occur: 44 at any time, at the beginning of the overriding method, or at the end of the overriding method. 45 (This anotation is not implmemented in FindBugs as of September 8, 2006). 46 </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.PossiblyNull</strong></span></span></dt><dd><p> 47 This annotation is deprecated. Use CheckForNull instead. 48 </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 49 <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p> 50 <span class="command"><strong>value:</strong></span>The name of the warning. More than one name can be specified. 51 </p><p> 52 <span class="command"><strong>justification:</strong></span>Reason why the warning should be ignored. デフォルト値 :""。</p></dd></dl></div><p> 53 The set of warnings that are to be suppressed by the compiler in the annotated element. 54 Duplicate names are permitted. The second and successive occurrences of a name are ignored. 55 The presence of unrecognized warning names is <span class="emphasis"><em>not</em></span> an error: Compilers 56 must ignore any warning names they do not recognize. They are, however, free to emit a 57 warning if an annotation contains an unrecognized warning name. Compiler vendors should 58 document the warning names they support in conjunction with this annotation type. They 59 are encouraged to cooperate to ensure that the same names work across multiple compilers. 60 </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 61 <p> 62 Used to indicate that the nullness of the target is unknown, or my vary in unknown ways in subclasses. 63 </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 64 <p> 65 Used to indicate that the nullness of the target is unknown, or my vary in unknown ways in subclasses. 66 </p></dd></dl></div><p>また、 <span class="application">FindBugs</span> 次に示すアノテーションもサポートしています。 :</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> 67 </p><p><a class="ulink" href="http://jcip.net/" target="_top">Java Concurrency in Practice</a> の <a class="ulink" href="http://jcip.net/annotations/doc/index.html" target="_top"> API ドキュメント</a> を参照してください。</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="analysisprops.html">戻る</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="rejarForAnalysis.html">次へ</a></td></tr><tr><td width="40%" align="left" valign="top">第9章 分析プロパティー </td><td width="20%" align="center"><a accesskey="h" href="index.html">ホーム</a></td><td width="40%" align="right" valign="top"> 第11章 rejarForAnalysis の使用方法</td></tr></table></div></body></html>