| OLD | NEW | 
|    1 <html><head> |    1 <html><head> | 
|    2       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |    2       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | 
|    3    <title>第8章 フィルターフ
     449;イル</title><meta name="generator" content="DocBook XSL Styleshe
     ets V1.76.1"><link rel="home" href="index.html" title="FindBugs™ マ&
     #12491;ュアル"><link rel="up" href="index.html" title="FindBug
     s™ マニュアル"><link rel="prev" href="eclips
     e.html" title="第7章 FindBugs™ Eclipse プラグ
     ;インの使用方法"><link rel="next" href
     ="analysisprops.html" title="第9章 分析プロ&
     #12497;ティー"></head><body bgcolor="white" text="black" link=
     "#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="1
     00%" summary="Navigation header"><tr><th colspan="3" align="center">第8
     1456; フィルターファイル</
     th></tr><tr><td width="20%" align="left"><a accesskey="p" href="eclipse.html">&#
     25147;る</a> </td><th width="60%" align="center"> </th><td width
     ="20%" align="right"> <a accesskey="n" href="analysisprops.html">次&#
     12408;</a></td></tr></table><hr></div><div class="chapter" title="第8ĺ
     56; フィルターファイル"><d
     iv class="titlepage"><div><div><h2 class="title"><a name="filter"></a>第8&
     #31456; フィルターファイル
     </h2></div></div></div><div class="toc"><p><b>目次</b></p><dl><dt><s
     pan class="sect1"><a href="filter.html#d0e1843">1. フィル|
     79;ーファイルの概要</a></span></
     dt><dt><span class="sect1"><a href="filter.html#d0e1893">2. マッ
     481;ング条件の種類</a></span></dt><dt>
     <span class="sect1"><a href="filter.html#d0e2157">3. Java 要素ࡧ
     7;マッチング</a></span></dt><dt><span class="sect1
     "><a href="filter.html#d0e2185">4. 留意事項</a></span></
     dt><dt><span class="sect1"><a href="filter.html#d0e2215">5. 例</a></span><
     /dt><dt><span class="sect1"><a href="filter.html#d0e2278">6. 完全
     2394;例</a></span></dt></dl></div><p>フィルタ}
     40;ファイルを使用する{
     71;とで、特定のクラス|
     20;メソッドをバグ報告{
     95;含めたりバグ報告か|
     25;除外したりすること{
     64;できます。この章で{
     99;、フィルターファイ}
     23;の使用方法を説明し|
     14;す。</p><div class="note" title="計画され
     ている機能" style="margin-left: 0.5in; margin-righ
     t: 0.5in;"><table border="0" summary="Note: 計画され
     390;いる機能"><tr><td rowspan="2" align="center" valign=
     "top" width="25"><img alt="[注記]" src="note.png"></td><th align="le
     ft">計画されている機能</th
     ></tr><tr><td align="left" valign="top"><p>フィルタ}
     40;は現在、コマンドラ|
     52;ンインタフェースで{
     98;みサポートされてい|
     14;す。最終的には、フ|
     51;ルターのサポートは GUI 
     にも追加される予定で
     す。</p></td></tr></table></div><p> |    3    <title>第8章 フィルターフ
     449;イル</title><meta name="generator" content="DocBook XSL Styleshe
     ets V1.78.1"><link rel="home" href="index.html" title="FindBugs™ マ&
     #12491;ュアル"><link rel="up" href="index.html" title="FindBug
     s™ マニュアル"><link rel="prev" href="eclips
     e.html" title="第7章 FindBugs™ Eclipse プラグ
     ;インの使用方法"><link rel="next" href
     ="analysisprops.html" title="第9章 分析プロ&
     #12497;ティー"></head><body bgcolor="white" text="black" link=
     "#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="1
     00%" summary="Navigation header"><tr><th colspan="3" align="center">第8
     1456; フィルターファイル</
     th></tr><tr><td width="20%" align="left"><a accesskey="p" href="eclipse.html">&#
     25147;る</a> </td><th width="60%" align="center"> </th><td width
     ="20%" align="right"> <a accesskey="n" href="analysisprops.html">次&#
     12408;</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage
     "><div><div><h1 class="title"><a name="filter"></a>第8章 フ
     2451;ルターファイル</h1></div></div></
     div><div class="toc"><p><b>目次</b></p><dl class="toc"><dt><span cla
     ss="sect1"><a href="filter.html#d0e1843">1. フィルタ
     540;ファイルの概要</a></span></dt><dt>
     <span class="sect1"><a href="filter.html#d0e1893">2. マッチ
     2531;グ条件の種類</a></span></dt><dt><span c
     lass="sect1"><a href="filter.html#d0e2157">3. Java 要素名}
     10;ッチング</a></span></dt><dt><span class="sect1"><a hr
     ef="filter.html#d0e2185">4. 留意事項</a></span></dt><dt>
     <span class="sect1"><a href="filter.html#d0e2215">5. 例</a></span></dt><dt
     ><span class="sect1"><a href="filter.html#d0e2278">6. 完全な&#
     20363;</a></span></dt></dl></div><p>フィルター
     501;ァイルを使用するこ
     392;で、特定のクラスや
     513;ソッドをバグ報告に
     547;めたりバグ報告から&
     500;外したりすることが
     391;きます。この章では
     289;フィルターファイル
     398;使用方法を説明しま
     377;。</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in
     ;"><table border="0" summary="Note: 計画されて
     356;る機能"><tr><td rowspan="2" align="center" valign="top" wi
     dth="25"><img alt="[注記]" src="note.png"></td><th align="left">#
     336;画されている機能</th></tr><t
     r><td align="left" valign="top"><p>フィルター{
     99;現在、コマンドライ}
     31;インタフェースでの|
     15;サポートされていま{
     77;。最終的には、フィ}
     23;ターのサポートは GUI に
     も追加される予定です
     。</p></td></tr></table></div><p> | 
|    4 </p><div class="sect1" title="1. フィルターフ
     ;ァイルの概要"><div class="titlepage"><div><
     div><h2 class="title" style="clear: both"><a name="d0e1843"></a>1. フ|
     51;ルターファイルの概Š
     01;</h2></div></div></div><p>概念的に言え
     2400;、フィルターはバグ
     6908;索結果をある基準と
     9031;合します。フィルタ
     2540;を定義することで、 &#
     29305;別な取り扱いをする&#
     12496;グ検索結果を選択す&#
     12427;ことができます。例&#
     12360;ば、あるバグ検索結&#
     26524;をバグ報告に含めた&#
     12426;、バグ報告から除外&#
     12375;たりすることができ&#
     12414;す。</p><p>フィルターフ
     2449;イルは、 <a class="ulink" href="http://www.w3.org/X
     ML/" target="_top">XML</a> 文書です。最Ç
     78;位要素が <code class="literal">FindBugsFilter<
     /code> 要素 であり、その子
     要素として <code class="literal">Match</code> #
     201;素を複数個定義しま
     377;。それぞれの <code class="literal">Match
     </code> 要素は、生成された
     バグ検索結果に適用さ
     れる述部にあたります
     。通常、フィルターは
     バグ検索結果を除外す
     るために使用します。
     次に、例を示します:</p><pr
     e class="screen"> |    4 </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style=
     "clear: both"><a name="d0e1843"></a>1. フィルター&
     #12501;ァイルの概要</h2></div></div></div><p
     >概念的に言えば、フィ
     ;ルターはバグ検索結果
     ;をある基準と照合しま
     ;す。フィルターを定義
     ;することで、 特別なࡢ
     2;り扱いをするバグ検ಃ
     4;結果を選択することӔ
     4;できます。例えば、ӓ
     4;るバグ検索結果をバӞ
     4;報告に含めたり、バӞ
     4;報告から除外したりӕ
     7;ることができます。</p><p
     >フィルターファイルは
     ;、 <a class="ulink" href="http://www.w3.org/XML/" target="_top">XML</a> &
     #25991;書です。最上位要素&
     #12364; <code class="literal">FindBugsFilter</code> 要素 
     391;あり、その子要素と
     375;て <code class="literal">Match</code> 要素を複
     数個定義します。それ
     ぞれの <code class="literal">Match</code> 要素
     399;、生成されたバグ検 
     034;結果に適用される述%
     096;にあたります。通常
     289;フィルターはバグ検 
     034;結果を除外するため
     395;使用します。次に、
     363;を示します:</p><pre class="screen"> | 
|    5 <code class="prompt">$ </code><span class="command"><strong>findbugs -textui -ex
     clude <em class="replaceable"><code>myExcludeFilter.xml</code></em> <em class="r
     eplaceable"><code>myApp.jar</code></em></strong></span> |    5 <code class="prompt">$ </code><span class="command"><strong>findbugs -textui -ex
     clude <em class="replaceable"><code>myExcludeFilter.xml</code></em> <em class="r
     eplaceable"><code>myApp.jar</code></em></strong></span> | 
|    6 </pre><p>また一方で、的をし
     ;ぼった報告を得るため
     ;にバグ報告結果を選択
     ;するためにフィルター
     ;を使用することも考え
     ;られます :</p><pre class="screen"> |    6 </pre><p>また一方で、的をし
     ;ぼった報告を得るため
     ;にバグ報告結果を選択
     ;するためにフィルター
     ;を使用することも考え
     ;られます :</p><pre class="screen"> | 
|    7 <code class="prompt">$ </code><span class="command"><strong>findbugs -textui -in
     clude <em class="replaceable"><code>myIncludeFilter.xml</code></em> <em class="r
     eplaceable"><code>myApp.jar</code></em></strong></span> |    7 <code class="prompt">$ </code><span class="command"><strong>findbugs -textui -in
     clude <em class="replaceable"><code>myIncludeFilter.xml</code></em> <em class="r
     eplaceable"><code>myApp.jar</code></em></strong></span> | 
|    8 </pre><p> |    8 </pre><p> | 
|    9 </p><p> |    9 </p><p> | 
|   10 <code class="literal">Match</code> 要素は子要ŀ
     32;を持ちます。それら{
     98;子要素は論理積で述Ų
     96;になります。つまりz
     89;述部が真であるため{
     95;は、すべての子要素{
     64;真である必要があり|
     14;す。</p></div><div class="sect1" title="2. マッӠ
     1;ング条件の種類"><div class="titlepag
     e"><div><div><h2 class="title" style="clear: both"><a name="d0e1893"></a>2. 
     510;ッチング条件の種類</h2
     ></div></div></div><div class="variablelist"><dl><dt><span class="term"><code cl
     ass="literal"><Bug></code></span></dt><dd><p>この要ŀ
     32;は、バグパターンをý
     51;定して照合します。<code
      class="literal">pattern</code> 属性には、コ
     ンマ区切りでバグパタ
     ーン類型のリストを指
     定します。どの警告が
     どのバグパターン類型
     にあたるかは、 <span class="command"><
     strong>-xml</strong></span> オプションを
     388;かって出力されたも
     398; (<code class="literal">BugInstance</code> 要素の <code cl
     ass="literal">type</code> 属性) を見るか
     289;または、 <a class="ulink" href="../../bugDescription
     s.html" target="_top">バグ解説ドキュ&#
     12513;ント</a>を参照してくӖ
     4;さい。</p><p>もっと粒度の
     ;粗い照合を行いたいと
     ;きは、 <code class="literal">code</code> 属性
     434;使用してください。
     496;グ略称のコンマ区切
     426;のリストで指定でき
     414;す。さらに粒度の粗
     356;照合を行いたいとき
     399;、 <code class="literal">category</code> 属性をË
     51;用してください。次{
     95;示す、バグカテゴリ}
     40;名のコンマ区切りの}
     22;ストで指定できます : <c
     ode class="literal">CORRECTNESS</code>, <code class="literal">MT_CORRECTNESS</co
     de>, <code class="literal">BAD_PRACTICICE</code>, <code class="literal">PERFORMA
     NCE</code>, <code class="literal">STYLE</code>.</p><p>同じ <code cla
     ss="literal"><Bug></code> 要素に上記の
     属性を複数指定した場
     合は、バグパターン名
     、バグ略称、バグカテ
     ゴリーのいずれか1つで
     ;も該当すれば、バグパ
     ;ターンは合致すると判
     ;定されます。</p><p>下位互
     換性を持たせたい場合
     は、 <code class="literal"><Bug></code> 要素ӗ
     8;代わりに <code class="literal"><BugPattern></cod
     e> 要素および <code class="literal"><BugCode>
     ;</code> 要素を使用してくだ
     ;さい。これらの要素は
     ;それぞれ、 <code class="literal">name</code> 
     646;性で値のリストを指
     450;します。これらの要 
     032;は、将来サポートさ
     428;なくなる可能性があ
     426;ます。</p></dd><dt><span class="term"><code class="literal
     "><Confidence></code></span></dt><dd><p> |   10 <code class="literal">Match</code> 要素は子要ŀ
     32;を持ちます。それら{
     98;子要素は論理積で述Ų
     96;になります。つまりz
     89;述部が真であるため{
     95;は、すべての子要素{
     64;真である必要があり|
     14;す。</p></div><div class="sect1"><div class="titlepage"><div><div
     ><h2 class="title" style="clear: both"><a name="d0e1893"></a>2. マッ
     チング条件の種類</h2></div></div
     ></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"
     ><code class="literal"><Bug></code></span></dt><dd><p>この#
     201;素は、バグパターン
     434;指定して照合します
     290;<code class="literal">pattern</code> 属性には、
     ;コンマ区切りでバグパ
     ;ターン類型のリストを
     ;指定します。どの警告
     ;がどのバグパターン類
     ;型にあたるかは、 <span class="c
     ommand"><strong>-xml</strong></span> オプション
     2434;つかって出力された
     2418;の (<code class="literal">BugInstance</code> 要素の
      <code class="literal">type</code> 属性) を見る
     2363;、または、 <a class="ulink" href="../../bugDe
     scriptions.html" target="_top">バグ解説ドキ&
     #12517;メント</a>を参照して{
     67;ださい。</p><p>もっと粒ॷ
     0;の粗い照合を行いたӓ
     6;ときは、 <code class="literal">code</code> 属
     4615;を使用してください
     2290;バグ略称のコンマ区
     0999;りのリストで指定で
     2365;ます。さらに粒度の
     1895;い照合を行いたいと
     2365;は、 <code class="literal">category</code> 属性
     434;使用してください。
     425;に示す、バグカテゴ
     522;ー名のコンマ区切り
     398;リストで指定できま
     377; : <code class="literal">CORRECTNESS</code>, <code class="literal">MT_CORREC
     TNESS</code>, <code class="literal">BAD_PRACTICICE</code>, <code class="literal"
     >PERFORMANCE</code>, <code class="literal">STYLE</code>.</p><p>同じ 
     <code class="literal"><Bug></code> 要素に上記
     ;の属性を複数指定した
     ;場合は、バグパターン
     ;名、バグ略称、バグカ
     ;テゴリーのいずれか1Ӗ
     8;でも該当すれば、バӞ
     4;パターンは合致するӗ
     2;判定されます。</p><p>下位
     ;互換性を持たせたい場
     ;合は、 <code class="literal"><Bug></code> 要ŀ
     32;の代わりに <code class="literal"><BugPattern
     ></code> 要素および <code class="literal"><B
     ugCode></code> 要素を使用してӔ
     7;ださい。これらの要ಃ
     2;はそれぞれ、 <code class="literal">name</c
     ode> 属性で値のリストを
     5351;定します。これらの
     5201;素は、将来サポート
     2373;れなくなる可能性が
     2354;ります。</p></dd><dt><span class="term"><code class
     ="literal"><Confidence></code></span></dt><dd><p> | 
|   11             この要素は、特定
     398;バグ信頼度をもつ警
     578;を照合します。 |   11             この要素は、特定
     398;バグ信頼度をもつ警
     578;を照合します。 | 
|   12             <code class="literal">value</code> 属性には&
     #12289;整数値を指定します&
     #12290;すなわち 1 は信頼度(ƌ
     40;) 、また、 2 は信頼度(中
     ;) 、 3 は信頼度(低) を示し
     ;ます。 |   12             <code class="literal">value</code> 属性には&
     #12289;整数値を指定します&
     #12290;すなわち 1 は信頼度(ƌ
     40;) 、また、 2 は信頼度(中
     ;) 、 3 は信頼度(低) を示し
     ;ます。 | 
|   13             <Confidence> は 2.0.0 リリース&#
     12363;ら <Priority> の後継として
     取って代わりました。 |   13             <Confidence> は 2.0.0 リリース&#
     12363;ら <Priority> の後継として
     取って代わりました。 | 
|   14         </p></dd><dt><span class="term"><code class="literal"><Priority></
     code></span></dt><dd><p> |   14         </p></dd><dt><span class="term"><code class="literal"><Priority></
     code></span></dt><dd><p> | 
|   15             <code class="literal"><Confidence></code> と同
     968;です。下位互換性を
     445;つため残されていま
     377;。 |   15             <code class="literal"><Confidence></code> と同
     968;です。下位互換性を
     445;つため残されていま
     377;。 | 
|   16         </p></dd><dt><span class="term"><code class="literal"><Rank></code
     ></span></dt><dd><p> |   16         </p></dd><dt><span class="term"><code class="literal"><Rank></code
     ></span></dt><dd><p> | 
|   17             この要素は、特定
     398;バグランクをもつ警
     578;を照合します。 |   17             この要素は、特定
     398;バグランクをもつ警
     578;を照合します。 | 
|   18             <code class="literal">value</code> 属性には&
     #12289; 1 から 20 の整数値を指&#
     23450;します。 |   18             <code class="literal">value</code> 属性には&
     #12289; 1 から 20 の整数値を指&#
     23450;します。 | 
|   19             1 から 4 は最も恐ろし
     ;いバグ、 5 から 9 は恐ろ&
     #12375;いバグ、 10 から 14 は厄&
     #20171;なバグ, |   19             1 から 4 は最も恐ろし
     ;いバグ、 5 から 9 は恐ろ&
     #12375;いバグ、 10 から 14 は厄&
     #20171;なバグ, | 
|   20             そして 15 から 20 は不
     433;なバグを示します。 |   20             そして 15 から 20 は不
     433;なバグを示します。 | 
|   21         </p></dd><dt><span class="term"><code class="literal"><Package></c
     ode></span></dt><dd><p>この要素は、 <code cl
     ass="literal">name</code> 属性で指定しӖ
     3;特定のパッケージ内ӗ
     5;あるクラスに関連しӖ
     3;警告を照合します。ࠣ
     7;れ子のパッケージはࡪ
     7;まれません (Java import 文に従
     っています) 。しかしӗ
     4;がら、正規表現を使ӓ
     8;と複数パッケージにӣ
     0;ッチさせることは簡ࡕ
     6;にできます。</p></dd><dt><span class="term
     "><code class="literal"><Class></code></span></dt><dd><p>この&
     #35201;素は、特定のクラス&
     #12395;関連した警告を照合&
     #12375;ます。<code class="literal">name</code> 属性
     ;を使用して、照合する
     ;クラス名をクラス名そ
     ;のものか、または、正
     ;規表現で指定します。
     ;</p><p>下位互換性を持たせ
     たい場合は、この要素
     の代わりに <code class="literal">Match</code> #
     201;素を使用してくださ
     356;。クラス名そのもの
     398;指定は <code class="literal">class</code> 属性
     を、クラス名を正規表
     現で指定する場合は <code c
     lass="literal">classregex</code> 属性をそれぞ
     ;れ使用してください</p><p>
     もし <code class="literal">Match</code> 要素に <co
     de class="literal">Class</code> 要素が無かっ
     たり、 <code class="literal">class</code> / <code class="liter
     al">classregex</code> 属性が無かった&#
     12426;した場合は、すべて&#
     12398;クラスに適用されま&#
     12377;。その場合、想定外&#
     12395;多くのバグ検索結果&#
     12364;一致してしまうこと&#
     12364;あり得ます。その場&#
     21512;は、適当なメソッド&#
     12420;フィールドで絞り込&#
     12435;でください。</p></dd><dt><span class="
     term"><code class="literal"><Source></code></span></dt><dd><p> |   21         </p></dd><dt><span class="term"><code class="literal"><Package></c
     ode></span></dt><dd><p>この要素は、 <code cl
     ass="literal">name</code> 属性で指定しӖ
     3;特定のパッケージ内ӗ
     5;あるクラスに関連しӖ
     3;警告を照合します。ࠣ
     7;れ子のパッケージはࡪ
     7;まれません (Java import 文に従
     っています) 。しかしӗ
     4;がら、正規表現を使ӓ
     8;と複数パッケージにӣ
     0;ッチさせることは簡ࡕ
     6;にできます。</p></dd><dt><span class="term
     "><code class="literal"><Class></code></span></dt><dd><p>この&
     #35201;素は、特定のクラス&
     #12395;関連した警告を照合&
     #12375;ます。<code class="literal">name</code> 属性
     ;を使用して、照合する
     ;クラス名をクラス名そ
     ;のものか、または、正
     ;規表現で指定します。
     ;</p><p>下位互換性を持たせ
     たい場合は、この要素
     の代わりに <code class="literal">Match</code> #
     201;素を使用してくださ
     356;。クラス名そのもの
     398;指定は <code class="literal">class</code> 属性
     を、クラス名を正規表
     現で指定する場合は <code c
     lass="literal">classregex</code> 属性をそれぞ
     ;れ使用してください</p><p>
     もし <code class="literal">Match</code> 要素に <co
     de class="literal">Class</code> 要素が無かっ
     たり、 <code class="literal">class</code> / <code class="liter
     al">classregex</code> 属性が無かった&#
     12426;した場合は、すべて&#
     12398;クラスに適用されま&#
     12377;。その場合、想定外&#
     12395;多くのバグ検索結果&#
     12364;一致してしまうこと&#
     12364;あり得ます。その場&#
     21512;は、適当なメソッド&#
     12420;フィールドで絞り込&#
     12435;でください。</p></dd><dt><span class="
     term"><code class="literal"><Source></code></span></dt><dd><p> | 
|   22             この要素は、特定
     398;ソースファイルに関$
     899;した警告を照合しま
     377;。 |   22             この要素は、特定
     398;ソースファイルに関$
     899;した警告を照合しま
     377;。 | 
|   23             <code class="literal">name</code> 属性を使&#
     29992;して、照合するソー&#
     12473;ファイル名をソース&#
     12501;ァイル名そのものか&#
     12289;または、正規表現で&#
     25351;定します。 |   23             <code class="literal">name</code> 属性を使&#
     29992;して、照合するソー&#
     12473;ファイル名をソース&#
     12501;ァイル名そのものか&#
     12289;または、正規表現で&#
     25351;定します。 | 
|   24         </p></dd><dt><span class="term"><code class="literal"><Method></co
     de></span></dt><dd><p>この要素は、メ&#
     12477;ッドを指定します。<c
     ode class="literal">name</code> 属性を使用し
     て、照合するメソッド
     名をメソッド名そのも
     のか、または、正規表
     現で指定します。<code class="lit
     eral">params</code> 属性には、コン
     510;区切りでメソッド引
     968;の型のリストを指定
     375;ます。<code class="literal">returns</code> 属性
     ;にはメソッドの戻り値
     ;の型を指定します。<code c
     lass="literal">params</code> および <code class="literal">retu
     rns</code> においては、クラ|
     73;名は完全修飾名であ|
     27;必要があります。(例
     360;ば、単に "String" ではなく "
     java.lang.String" としてくださいӍ
     0;) <code class="literal">params</code> <code class="literal">returns</code> 
     2398;どちらか一方を指定
     2375;た場合は、もう一方
     2398;属性の指定も必須で
     2377;。なぜならば、メソ
     2483;ドシグニチャーを構
     1689;のために必要だから
     2391;す。<code class="literal">name</code> 属性、<
     code class="literal">params</code> 属性 および <co
     de class="literal">returns</code> 属性または 3 
     2388;の 属性すべて、のど&#
     12428;かを条件とすること&#
     12391;きることを意味して&#
     12356;ます。このように、&#
     21517;前とシグニチャーに&#
     22522;づく様々な種類の条&#
     20214;を規定できます。</p></dd><
     dt><span class="term"><code class="literal"><Field></code></span></dt><dd>
     <p>この要素は、フィー}
     23;ドを指定します。<code class="
     literal">name</code> 属性を使用して
     2289;照合するフィールド
     1517;をフィールド名その
     2418;のか、または、正規
     4920;現で指定します。ま
     2383;、フィールドのシグ
     2491;チャーに照らしたフ
     2451;ルタリングをするこ
     2392;ができます。 <code class="literal">type
     </code> 属性を使用して、フ
     ィールドの型を完全修
     飾名で指定してくださ
     い。名前とシグニチャ
     ーに基づく条件を規定
     するために、その2つの
     ;属性を両方とも指定す
     ;ることができます。</p></d
     d><dt><span class="term"><code class="literal"><Local></code></span></dt><
     dd><p>この要素は、ローカ&#
     12523;変数を指定します。<c
     ode class="literal">name</code> 属性を使用し
     て、照合するローカル
     変数名をローカル変数
     名そのものか、または
     、正規表現で指定しま
     す。ローカル変数とは
     、メソッド内で定義し
     た変数です。</p></dd><dt><span class="term">
     <code class="literal"><Or></code></span></dt><dd><p>このව
     1;素は、論理和として <code
      class="literal">Match</code> 条項を結合し&#
     12414;す。すなわち、2つの 
     <code class="literal">Method</code> 要素を <code class="litera
     l">Or</code> 条項に入れること
     2391;、どちらか一方のメ
     2477;ッドでマッチさせる
     2371;とができます。</p></dd><dt><span 
     class="term"><code class="literal"><And></code></span></dt><dd><p> |   24         </p></dd><dt><span class="term"><code class="literal"><Method></co
     de></span></dt><dd><p>この要素は、メ&#
     12477;ッドを指定します。<c
     ode class="literal">name</code> 属性を使用し
     て、照合するメソッド
     名をメソッド名そのも
     のか、または、正規表
     現で指定します。<code class="lit
     eral">params</code> 属性には、コン
     510;区切りでメソッド引
     968;の型のリストを指定
     375;ます。<code class="literal">returns</code> 属性
     ;にはメソッドの戻り値
     ;の型を指定します。<code c
     lass="literal">params</code> および <code class="literal">retu
     rns</code> においては、クラ|
     73;名は完全修飾名であ|
     27;必要があります。(例
     360;ば、単に "String" ではなく "
     java.lang.String" としてくださいӍ
     0;) <code class="literal">params</code> <code class="literal">returns</code> 
     2398;どちらか一方を指定
     2375;た場合は、もう一方
     2398;属性の指定も必須で
     2377;。なぜならば、メソ
     2483;ドシグニチャーを構
     1689;のために必要だから
     2391;す。<code class="literal">name</code> 属性、<
     code class="literal">params</code> 属性 および <co
     de class="literal">returns</code> 属性または 3 
     2388;の 属性すべて、のど&#
     12428;かを条件とすること&#
     12391;きることを意味して&#
     12356;ます。このように、&#
     21517;前とシグニチャーに&#
     22522;づく様々な種類の条&#
     20214;を規定できます。</p></dd><
     dt><span class="term"><code class="literal"><Field></code></span></dt><dd>
     <p>この要素は、フィー}
     23;ドを指定します。<code class="
     literal">name</code> 属性を使用して
     2289;照合するフィールド
     1517;をフィールド名その
     2418;のか、または、正規
     4920;現で指定します。ま
     2383;、フィールドのシグ
     2491;チャーに照らしたフ
     2451;ルタリングをするこ
     2392;ができます。 <code class="literal">type
     </code> 属性を使用して、フ
     ィールドの型を完全修
     飾名で指定してくださ
     い。名前とシグニチャ
     ーに基づく条件を規定
     するために、その2つの
     ;属性を両方とも指定す
     ;ることができます。</p></d
     d><dt><span class="term"><code class="literal"><Local></code></span></dt><
     dd><p>この要素は、ローカ&#
     12523;変数を指定します。<c
     ode class="literal">name</code> 属性を使用し
     て、照合するローカル
     変数名をローカル変数
     名そのものか、または
     、正規表現で指定しま
     す。ローカル変数とは
     、メソッド内で定義し
     た変数です。</p></dd><dt><span class="term">
     <code class="literal"><Or></code></span></dt><dd><p>このව
     1;素は、論理和として <code
      class="literal">Match</code> 条項を結合し&#
     12414;す。すなわち、2つの 
     <code class="literal">Method</code> 要素を <code class="litera
     l">Or</code> 条項に入れること
     2391;、どちらか一方のメ
     2477;ッドでマッチさせる
     2371;とができます。</p></dd><dt><span 
     class="term"><code class="literal"><And></code></span></dt><dd><p> | 
|   25    この要素は、論理積{
     92;して <code class="literal">Match</code> 条項を&
     #32080;合します。  |   25    この要素は、論理積{
     92;して <code class="literal">Match</code> 条項を&
     #32080;合します。  | 
|   26    すなわち、  <code class="literal">Bug</code> &#
     12362;よび <code class="literal">Confidence</code> 要素&
     #12434; <code class="literal">And</code> 条項内に指
     ;定することで |   26    すなわち、  <code class="literal">Bug</code> &#
     12362;よび <code class="literal">Confidence</code> 要素&
     #12434; <code class="literal">And</code> 条項内に指
     ;定することで | 
|   27    特定の信頼度の特定{
     98;バグのみ照合するこ{
     92;ができます。 |   27    特定の信頼度の特定{
     98;バグのみ照合するこ{
     92;ができます。 | 
|   28    </p></dd><dt><span class="term"><code class="literal"><Not></code></spa
     n></dt><dd><p> |   28    </p></dd><dt><span class="term"><code class="literal"><Not></code></spa
     n></dt><dd><p> | 
|   29    この要素は、内包す|
     27;子 <code class="literal">Match</code> を反転し&
     #12414;す。 |   29    この要素は、内包す|
     27;子 <code class="literal">Match</code> を反転し&
     #12414;す。 | 
|   30    すなわち、 <code class="literal">Bug</code> 
     5201;素を <code class="literal">Not</code> 条項内&
     #12395;指定することで指定&
     #12375;たバグ以外のすべて&
     #12398;バグと照合します。 |   30    すなわち、 <code class="literal">Bug</code> 
     5201;素を <code class="literal">Not</code> 条項内&
     #12395;指定することで指定&
     #12375;たバグ以外のすべて&
     #12398;バグと照合します。 | 
|   31    </p></dd></dl></div></div><div class="sect1" title="3. Java 要素&
     #21517;マッチング"><div class="titlepage"><div><di
     v><h2 class="title" style="clear: both"><a name="d0e2157"></a>3. Java 要&#
     32032;名マッチング</h2></div></div></div><p> |   31    </p></dd></dl></div></div><div class="sect1"><div class="titlepage"><div><div
     ><h2 class="title" style="clear: both"><a name="d0e2157"></a>3. Java 要
     2032;名マッチング</h2></div></div></div><p> | 
|   32 <code class="literal">Class</code> 、 <code class="literal">Source</code> 
     、 <code class="literal">Method</code> または <code clas
     s="literal">Field</code> の <code class="literal">name</code> 属
     615;が文字 ~ で始まってい&
     #12427;場合は、 |   32 <code class="literal">Class</code> 、 <code class="literal">Source</code> 
     、 <code class="literal">Method</code> または <code clas
     s="literal">Field</code> の <code class="literal">name</code> 属
     615;が文字 ~ で始まってい&
     #12427;場合は、 | 
|   33 属性値の残りの部分を
      Java の正規表現として解&#
     37320;します。 |   33 属性値の残りの部分を
      Java の正規表現として解&#
     37320;します。 | 
|   34 そうして、当該 Java 要素&#
     12398;名前に対しての照合&#
     12364;行われます。 |   34 そうして、当該 Java 要素&#
     12398;名前に対しての照合&#
     12364;行われます。 | 
|   35 </p><p>パターンの照合は要&
     #32032;の名前全体に対して&
     #34892;われることに注意し&
     #12390;ください。そのため&
     #12289;部分一致照合を行い&
     #12383;い場合はパターン文&
     #23383;列の前後に .* を付加{
     75;て使用する必要があ|
     26;ます。</p><p>パターンのઔ
     3;文規則に関しては、 <a cl
     ass="ulink" href="http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/regex/
     Pattern.html" target="_top"><code class="literal">java.util.regex.Pattern</code>
     </a> のドキュメントを参
     9031;してください。</p></div><div clas
     s="sect1" title="4. 留意事項"><div class="titlepage"><di
     v><div><h2 class="title" style="clear: both"><a name="d0e2185"></a>4. 留&#
     24847;事項</h2></div></div></div><p> |   35 </p><p>パターンの照合は要&
     #32032;の名前全体に対して&
     #34892;われることに注意し&
     #12390;ください。そのため&
     #12289;部分一致照合を行い&
     #12383;い場合はパターン文&
     #23383;列の前後に .* を付加{
     75;て使用する必要があ|
     26;ます。</p><p>パターンのઔ
     3;文規則に関しては、 <a cl
     ass="ulink" href="http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/regex/
     Pattern.html" target="_top"><code class="literal">java.util.regex.Pattern</code>
     </a> のドキュメントを参
     9031;してください。</p></div><div clas
     s="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"
     ><a name="d0e2185"></a>4. 留意事項</h2></div></div></div
     ><p> | 
|   36 <code class="literal">Match</code> 条項は、バ|
     64;検索結果に実際に含|
     14;れている情報にのみÇ
     68;致します。すべての|
     96;グ検索結果はクラス|
     34;持っています。した{
     64;って、一般的に言っ{
     90;、バグを除外するた|
     17;にはクラスを用いてŜ
     92;うとうまくいくこと{
     64;多いです。</p><p>バグ検ಃ
     4;結果の中には、2個以Ç
     78;のクラスを保持して{
     56;るものもあります。Ë
     63;えば、 DE (dropped exception : 例外の
     961;視) バグは、 例外の無&
     #35222;が発生したメソッド&
     #12434;持っているクラスと&
     #12289; 無視された例外の型
     を表すクラスの両方を
     含んだ形で報告されま
     す。<code class="literal">Match</code> 条項と{
     99;、 <span class="emphasis"><em>1番目</em></span> (主) 
     のクラスのみが照合さ
     れます。したがって、
     例えば、クラス "com.foobar.A" 、
      "com.foobar.B" 間での IC (initialization circularity : ࠶
     1;期化時の処理循環) バ
     464;報告を抑止したい場
     512;、以下に示すように 2&#
     12388;の <code class="literal">Match</code> 条項を߳
     1;用します :</p><pre class="programlisting"> |   36 <code class="literal">Match</code> 条項は、バ|
     64;検索結果に実際に含|
     14;れている情報にのみÇ
     68;致します。すべての|
     96;グ検索結果はクラス|
     34;持っています。した{
     64;って、一般的に言っ{
     90;、バグを除外するた|
     17;にはクラスを用いてŜ
     92;うとうまくいくこと{
     64;多いです。</p><p>バグ検ಃ
     4;結果の中には、2個以Ç
     78;のクラスを保持して{
     56;るものもあります。Ë
     63;えば、 DE (dropped exception : 例外の
     961;視) バグは、 例外の無&
     #35222;が発生したメソッド&
     #12434;持っているクラスと&
     #12289; 無視された例外の型
     を表すクラスの両方を
     含んだ形で報告されま
     す。<code class="literal">Match</code> 条項と{
     99;、 <span class="emphasis"><em>1番目</em></span> (主) 
     のクラスのみが照合さ
     れます。したがって、
     例えば、クラス "com.foobar.A" 、
      "com.foobar.B" 間での IC (initialization circularity : ࠶
     1;期化時の処理循環) バ
     464;報告を抑止したい場
     512;、以下に示すように 2&#
     12388;の <code class="literal">Match</code> 条項を߳
     1;用します :</p><pre class="programlisting"> | 
|   37    <Match> |   37    <Match> | 
|   38       <Class name="com.foobar.A" /> |   38       <Class name="com.foobar.A" /> | 
|   39       <Bug code="IC" /> |   39       <Bug code="IC" /> | 
|   40    </Match> |   40    </Match> | 
|   41  |   41  | 
|   42    <Match> |   42    <Match> | 
|   43       <Class name="com.foobar.B" /> |   43       <Class name="com.foobar.B" /> | 
|   44       <Bug code="IC" /> |   44       <Bug code="IC" /> | 
|   45    </Match> |   45    </Match> | 
|   46 </pre><p>明示的に両方のクラ
     ;スで照合することによ
     ;って、循環しているど
     ;ちらのクラスがバグ検
     ;索結果の 1 番目になっ
     390;いるかに関係なく一!
     268;させることができま
     377;。(もちろんこの方法
     2399;、処理循環が "com.foobar.A" 、 "c
     om.foobar.B" に加えて3番目のク&#
     12521;スも含んでいる場合&#
     12399;図らずも失敗してし&#
     12414;う恐れがあります。)<
     /p><p>多くの種類のバグ報&#
     21578;は、自身が出現した&#
     12513;ソッドを報告します&#
     12290;それらのバグ検索結&#
     26524;に対しては、 <code class="literal">Met
     hod</code> 条項を <code class="literal">Match</code> 要&
     #32032;に加えると期待通り&
     #12398;動作をするでしょう&
     #12290;</p></div><div class="sect1" title="5. 例"><div class="titlepage"><
     div><div><h2 class="title" style="clear: both"><a name="d0e2215"></a>5. 例
     </h2></div></div></div><p>1. 特定のクラス
     2395;対するすべてのバグ
     2577;告に一致させます。</p
     ><pre class="programlisting"> |   46 </pre><p>明示的に両方のクラ
     ;スで照合することによ
     ;って、循環しているど
     ;ちらのクラスがバグ検
     ;索結果の 1 番目になっ
     390;いるかに関係なく一!
     268;させることができま
     377;。(もちろんこの方法
     2399;、処理循環が "com.foobar.A" 、 "c
     om.foobar.B" に加えて3番目のク&#
     12521;スも含んでいる場合&#
     12399;図らずも失敗してし&#
     12414;う恐れがあります。)<
     /p><p>多くの種類のバグ報&#
     21578;は、自身が出現した&#
     12513;ソッドを報告します&#
     12290;それらのバグ検索結&#
     26524;に対しては、 <code class="literal">Met
     hod</code> 条項を <code class="literal">Match</code> 要&
     #32032;に加えると期待通り&
     #12398;動作をするでしょう&
     #12290;</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="
     title" style="clear: both"><a name="d0e2215"></a>5. 例</h2></div></div></d
     iv><p>1. 特定のクラスに対す
     ;るすべてのバグ報告に
     ;一致させます。</p><pre class="program
     listing"> | 
|   47  |   47  | 
|   48      <Match> |   48      <Match> | 
|   49        <Class name="com.foobar.MyClass" /> |   49        <Class name="com.foobar.MyClass" /> | 
|   50      </Match> |   50      </Match> | 
|   51  |   51  | 
|   52 </pre><p> |   52 </pre><p> | 
|   53  |   53  | 
|   54 </p><p>2. バグ略称を指定しӗ
     0;、特定のクラスに対ӕ
     7;る特定の検査項目にߌ
     8;致させます。</p><pre class="programlisting
     "> |   54 </p><p>2. バグ略称を指定しӗ
     0;、特定のクラスに対ӕ
     7;る特定の検査項目にߌ
     8;致させます。</p><pre class="programlisting
     "> | 
|   55  |   55  | 
|   56      <Match> |   56      <Match> | 
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  176 </p><pre class="programlisting"> |  176 </p><pre class="programlisting"> | 
|  177  |  177  | 
|  178 <?xml version="1.0" encoding="UTF-8"?> |  178 <?xml version="1.0" encoding="UTF-8"?> | 
|  179 <FindBugsFilter> |  179 <FindBugsFilter> | 
|  180 <Match> |  180 <Match> | 
|  181     <Source name="~.*\.groovy" /> |  181     <Source name="~.*\.groovy" /> | 
|  182 </Match> |  182 </Match> | 
|  183 </FindBugsFilter> |  183 </FindBugsFilter> | 
|  184  |  184  | 
|  185 </pre><p> |  185 </pre><p> | 
|  186 </p></div><div class="sect1" title="6. 完全な例"><div cl
     ass="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2278
     "></a>6. 完全な例</h2></div></div></div><pre class="prog
     ramlisting"> |  186 </p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" 
     style="clear: both"><a name="d0e2278"></a>6. 完全な例</h
     2></div></div></div><pre class="programlisting"> | 
|  187  |  187  | 
|  188 <FindBugsFilter> |  188 <FindBugsFilter> | 
|  189      <Match> |  189      <Match> | 
|  190        <Class name="com.foobar.ClassNotToBeAnalyzed" /> |  190        <Class name="com.foobar.ClassNotToBeAnalyzed" /> | 
|  191      </Match> |  191      </Match> | 
|  192  |  192  | 
|  193      <Match> |  193      <Match> | 
|  194        <Class name="com.foobar.ClassWithSomeBugsMatched" /> |  194        <Class name="com.foobar.ClassWithSomeBugsMatched" /> | 
|  195        <Bug code="DE,UrF,SIC" /> |  195        <Bug code="DE,UrF,SIC" /> | 
|  196      </Match> |  196      </Match> | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
|  223      <Match> |  223      <Match> | 
|  224       <Class name="~.*\.*Test" /> |  224       <Class name="~.*\.*Test" /> | 
|  225       <Not> |  225       <Not> | 
|  226           <Bug code="IJU" /> |  226           <Bug code="IJU" /> | 
|  227       </Not> |  227       </Not> | 
|  228      </Match> |  228      </Match> | 
|  229  |  229  | 
|  230 </FindBugsFilter> |  230 </FindBugsFilter> | 
|  231  |  231  | 
|  232 </pre></div></div><div class="navfooter"><hr><table width="100%" summary="Naviga
     tion footer"><tr><td width="40%" align="left"><a accesskey="p" href="eclipse.htm
     l">戻る</a> </td><td width="20%" align="center"> </td><td 
     width="40%" align="right"> <a accesskey="n" href="analysisprops.html">Ē
     25;へ</a></td></tr><tr><td width="40%" align="left" valign="top">第7
     章 <span class="application">FindBugs</span>™ Eclipse プӤ
     1;グインの使用方法 </td><td
      width="20%" align="center"><a accesskey="h" href="index.html">ホー&
     #12512;</a></td><td width="40%" align="right" valign="top"> 第9౉
     6; 分析プロパティー</td></tr></t
     able></div></body></html> |  232 </pre></div></div><div class="navfooter"><hr><table width="100%" summary="Naviga
     tion footer"><tr><td width="40%" align="left"><a accesskey="p" href="eclipse.htm
     l">戻る</a> </td><td width="20%" align="center"> </td><td 
     width="40%" align="right"> <a accesskey="n" href="analysisprops.html">Ē
     25;へ</a></td></tr><tr><td width="40%" align="left" valign="top">第7
     章 <span class="application">FindBugs</span>™ Eclipse プӤ
     1;グインの使用方法 </td><td
      width="20%" align="center"><a accesskey="h" href="index.html">ホー&
     #12512;</a></td><td width="40%" align="right" valign="top"> 第9౉
     6; 分析プロパティー</td></tr></t
     able></div></body></html> | 
| OLD | NEW |