Modified: 
websites/production/maven/content/plugins-archives/maven-clean-plugin-LATEST/xref/org/apache/maven/plugin/clean/HelpMojo.html
==============================================================================
--- 
websites/production/maven/content/plugins-archives/maven-clean-plugin-LATEST/xref/org/apache/maven/plugin/clean/HelpMojo.html
 (original)
+++ 
websites/production/maven/content/plugins-archives/maven-clean-plugin-LATEST/xref/org/apache/maven/plugin/clean/HelpMojo.html
 Mon Sep 22 06:49:35 2014
@@ -1,312 +1,451 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
-<title>HelpMojo xref</title>
-<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
-</head>
-<body>
-<div id="overview"><a 
href="../../../../../../apidocs/org/apache/maven/plugin/clean/HelpMojo.html">View
 Javadoc</a></div><pre>
-
-<a class="jxr_linenumber" name="1" href="#1">1</a>   <strong 
class="jxr_keyword">package</strong> org.apache.maven.plugin.clean;
-<a class="jxr_linenumber" name="2" href="#2">2</a>   
-<a class="jxr_linenumber" name="3" href="#3">3</a>   <strong 
class="jxr_keyword">import</strong> java.util.ArrayList;
-<a class="jxr_linenumber" name="4" href="#4">4</a>   <strong 
class="jxr_keyword">import</strong> java.util.Iterator;
-<a class="jxr_linenumber" name="5" href="#5">5</a>   <strong 
class="jxr_keyword">import</strong> java.util.List;
-<a class="jxr_linenumber" name="6" href="#6">6</a>   
-<a class="jxr_linenumber" name="7" href="#7">7</a>   <strong 
class="jxr_keyword">import</strong> org.apache.maven.plugin.AbstractMojo;
-<a class="jxr_linenumber" name="8" href="#8">8</a>   <strong 
class="jxr_keyword">import</strong> 
org.apache.maven.plugin.MojoExecutionException;
-<a class="jxr_linenumber" name="9" href="#9">9</a>   
-<a class="jxr_linenumber" name="10" href="#10">10</a>  <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="11" href="#11">11</a>  <em 
class="jxr_javadoccomment"> * Display help information on 
maven-clean-plugin.&lt;br/&gt; Call &lt;pre&gt;  mvn clean:help -Ddetail=true 
-Dgoal=&amp;lt;goal-name&amp;gt;&lt;/pre&gt; to display parameter details.</em>
-<a class="jxr_linenumber" name="12" href="#12">12</a>  <em 
class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="13" href="#13">13</a>  <em 
class="jxr_javadoccomment"> * @version generated on Wed Jan 02 22:39:51 CET 
2013</em>
-<a class="jxr_linenumber" name="14" href="#14">14</a>  <em 
class="jxr_javadoccomment"> * @author 
org.apache.maven.tools.plugin.generator.PluginHelpGenerator (version 2.8)</em>
-<a class="jxr_linenumber" name="15" href="#15">15</a>  <em 
class="jxr_javadoccomment"> * @goal help</em>
-<a class="jxr_linenumber" name="16" href="#16">16</a>  <em 
class="jxr_javadoccomment"> * @requiresProject false</em>
-<a class="jxr_linenumber" name="17" href="#17">17</a>  <em 
class="jxr_javadoccomment"> * @threadSafe</em>
-<a class="jxr_linenumber" name="18" href="#18">18</a>  <em 
class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="19" href="#19">19</a>  @SuppressWarnings( 
<span class="jxr_string">"all"</span> )
-<a class="jxr_linenumber" name="20" href="#20">20</a>  <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> 
<a 
href="../../../../../org/apache/maven/plugin/clean/HelpMojo.html">HelpMojo</a>
-<a class="jxr_linenumber" name="21" href="#21">21</a>      <strong 
class="jxr_keyword">extends</strong> AbstractMojo
-<a class="jxr_linenumber" name="22" href="#22">22</a>  {
-<a class="jxr_linenumber" name="23" href="#23">23</a>      <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="24" href="#24">24</a>  <em 
class="jxr_javadoccomment">     * If &lt;code&gt;true&lt;/code&gt;, display all 
settable properties for each goal.</em>
-<a class="jxr_linenumber" name="25" href="#25">25</a>  <em 
class="jxr_javadoccomment">     * </em>
-<a class="jxr_linenumber" name="26" href="#26">26</a>  <em 
class="jxr_javadoccomment">     * @parameter expression="${detail}" 
default-value="false"</em>
-<a class="jxr_linenumber" name="27" href="#27">27</a>  <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="28" href="#28">28</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">boolean</strong> detail;
-<a class="jxr_linenumber" name="29" href="#29">29</a>  
-<a class="jxr_linenumber" name="30" href="#30">30</a>      <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="31" href="#31">31</a>  <em 
class="jxr_javadoccomment">     * The name of the goal for which to show help. 
If unspecified, all goals will be displayed.</em>
-<a class="jxr_linenumber" name="32" href="#32">32</a>  <em 
class="jxr_javadoccomment">     * </em>
-<a class="jxr_linenumber" name="33" href="#33">33</a>  <em 
class="jxr_javadoccomment">     * @parameter expression="${goal}"</em>
-<a class="jxr_linenumber" name="34" href="#34">34</a>  <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="35" href="#35">35</a>      <strong 
class="jxr_keyword">private</strong> java.lang.String goal;
-<a class="jxr_linenumber" name="36" href="#36">36</a>  
-<a class="jxr_linenumber" name="37" href="#37">37</a>      <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="38" href="#38">38</a>  <em 
class="jxr_javadoccomment">     * The maximum length of a display line, should 
be positive.</em>
-<a class="jxr_linenumber" name="39" href="#39">39</a>  <em 
class="jxr_javadoccomment">     * </em>
-<a class="jxr_linenumber" name="40" href="#40">40</a>  <em 
class="jxr_javadoccomment">     * @parameter expression="${lineLength}" 
default-value="80"</em>
-<a class="jxr_linenumber" name="41" href="#41">41</a>  <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="42" href="#42">42</a>      <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> 
lineLength;
-<a class="jxr_linenumber" name="43" href="#43">43</a>  
-<a class="jxr_linenumber" name="44" href="#44">44</a>      <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="45" href="#45">45</a>  <em 
class="jxr_javadoccomment">     * The number of spaces per indentation level, 
should be positive.</em>
-<a class="jxr_linenumber" name="46" href="#46">46</a>  <em 
class="jxr_javadoccomment">     * </em>
-<a class="jxr_linenumber" name="47" href="#47">47</a>  <em 
class="jxr_javadoccomment">     * @parameter expression="${indentSize}" 
default-value="2"</em>
-<a class="jxr_linenumber" name="48" href="#48">48</a>  <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="49" href="#49">49</a>      <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> 
indentSize;
-<a class="jxr_linenumber" name="50" href="#50">50</a>  
-<a class="jxr_linenumber" name="51" href="#51">51</a>  
-<a class="jxr_linenumber" name="52" href="#52">52</a>      <em 
class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> 
{@inheritDoc} */</em>
-<a class="jxr_linenumber" name="53" href="#53">53</a>      <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> 
execute()
-<a class="jxr_linenumber" name="54" href="#54">54</a>          <strong 
class="jxr_keyword">throws</strong> MojoExecutionException
-<a class="jxr_linenumber" name="55" href="#55">55</a>      {
-<a class="jxr_linenumber" name="56" href="#56">56</a>          <strong 
class="jxr_keyword">if</strong> ( lineLength &lt;= 0 )
-<a class="jxr_linenumber" name="57" href="#57">57</a>          {
-<a class="jxr_linenumber" name="58" href="#58">58</a>              
getLog().warn( <span class="jxr_string">"The parameter 'lineLength' should be 
positive, using '80' as default."</span> );
-<a class="jxr_linenumber" name="59" href="#59">59</a>              lineLength 
= 80;
-<a class="jxr_linenumber" name="60" href="#60">60</a>          }
-<a class="jxr_linenumber" name="61" href="#61">61</a>          <strong 
class="jxr_keyword">if</strong> ( indentSize &lt;= 0 )
-<a class="jxr_linenumber" name="62" href="#62">62</a>          {
-<a class="jxr_linenumber" name="63" href="#63">63</a>              
getLog().warn( <span class="jxr_string">"The parameter 'indentSize' should be 
positive, using '2' as default."</span> );
-<a class="jxr_linenumber" name="64" href="#64">64</a>              indentSize 
= 2;
-<a class="jxr_linenumber" name="65" href="#65">65</a>          }
-<a class="jxr_linenumber" name="66" href="#66">66</a>  
-<a class="jxr_linenumber" name="67" href="#67">67</a>          StringBuffer sb 
= <strong class="jxr_keyword">new</strong> StringBuffer();
-<a class="jxr_linenumber" name="68" href="#68">68</a>  
-<a class="jxr_linenumber" name="69" href="#69">69</a>          append( sb, 
<span 
class="jxr_string">"org.apache.maven.plugins:maven-clean-plugin:2.5"</span>, 0 
);
-<a class="jxr_linenumber" name="70" href="#70">70</a>          append( sb, 
<span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="71" href="#71">71</a>  
-<a class="jxr_linenumber" name="72" href="#72">72</a>          append( sb, 
<span class="jxr_string">"Maven Clean Plugin"</span>, 0 );
-<a class="jxr_linenumber" name="73" href="#73">73</a>          append( sb, 
<span class="jxr_string">"The Maven Clean Plugin is a plugin that removes files 
generated at build-time in a project\'s directory."</span>, 1 );
-<a class="jxr_linenumber" name="74" href="#74">74</a>          append( sb, 
<span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="75" href="#75">75</a>  
-<a class="jxr_linenumber" name="76" href="#76">76</a>          <strong 
class="jxr_keyword">if</strong> ( goal == <strong 
class="jxr_keyword">null</strong> || goal.length() &lt;= 0 )
-<a class="jxr_linenumber" name="77" href="#77">77</a>          {
-<a class="jxr_linenumber" name="78" href="#78">78</a>              append( sb, 
<span class="jxr_string">"This plugin has 2 goals:"</span>, 0 );
-<a class="jxr_linenumber" name="79" href="#79">79</a>              append( sb, 
<span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="80" href="#80">80</a>          }
-<a class="jxr_linenumber" name="81" href="#81">81</a>  
-<a class="jxr_linenumber" name="82" href="#82">82</a>          <strong 
class="jxr_keyword">if</strong> ( goal == <strong 
class="jxr_keyword">null</strong> || goal.length() &lt;= 0 || <span 
class="jxr_string">"clean"</span>.equals( goal ) )
-<a class="jxr_linenumber" name="83" href="#83">83</a>          {
-<a class="jxr_linenumber" name="84" href="#84">84</a>              append( sb, 
<span class="jxr_string">"clean:clean"</span>, 0 );
-<a class="jxr_linenumber" name="85" href="#85">85</a>              append( sb, 
<span class="jxr_string">"Goal which cleans the build.\nThis attempts to clean 
a project\'s working directory of the files that were generated at build-time. 
By default, it discovers and deletes the directories configured in 
project.build.directory, project.build.outputDirectory, 
project.build.testOutputDirectory, and 
project.reporting.outputDirectory.\n\nFiles outside the default may also be 
included in the deletion by configuring the filesets tag.\n"</span>, 1 );
-<a class="jxr_linenumber" name="86" href="#86">86</a>              append( sb, 
<span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="87" href="#87">87</a>              <strong 
class="jxr_keyword">if</strong> ( detail )
-<a class="jxr_linenumber" name="88" href="#88">88</a>              {
-<a class="jxr_linenumber" name="89" href="#89">89</a>                  append( 
sb, <span class="jxr_string">"Available parameters:"</span>, 1 );
-<a class="jxr_linenumber" name="90" href="#90">90</a>                  append( 
sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="91" href="#91">91</a>  
-<a class="jxr_linenumber" name="92" href="#92">92</a>                  append( 
sb, <span class="jxr_string">"excludeDefaultDirectories (Default: 
false)"</span>, 2 );
-<a class="jxr_linenumber" name="93" href="#93">93</a>                  append( 
sb, <span class="jxr_string">"Disables the deletion of the default output 
directories configured for a project. If set to true, only the 
files/directories selected via the parameter filesets will be deleted."</span>, 
3 );
-<a class="jxr_linenumber" name="94" href="#94">94</a>                  append( 
sb, <span class="jxr_string">"Expression: 
${clean.excludeDefaultDirectories}"</span>, 3 );
-<a class="jxr_linenumber" name="95" href="#95">95</a>                  append( 
sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="96" href="#96">96</a>  
-<a class="jxr_linenumber" name="97" href="#97">97</a>                  append( 
sb, <span class="jxr_string">"failOnError (Default: true)"</span>, 2 );
-<a class="jxr_linenumber" name="98" href="#98">98</a>                  append( 
sb, <span class="jxr_string">"Indicates whether the build will continue even if 
there are clean errors."</span>, 3 );
-<a class="jxr_linenumber" name="99" href="#99">99</a>                  append( 
sb, <span class="jxr_string">"Expression: ${maven.clean.failOnError}"</span>, 3 
);
-<a class="jxr_linenumber" name="100" href="#100">100</a>                 
append( sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="101" href="#101">101</a> 
-<a class="jxr_linenumber" name="102" href="#102">102</a>                 
append( sb, <span class="jxr_string">"filesets"</span>, 2 );
-<a class="jxr_linenumber" name="103" href="#103">103</a>                 
append( sb, <span class="jxr_string">"The list of file sets to delete, in 
addition to the default directories. For 
example:\n&lt;filesets&gt;\n\u00a0\u00a0&lt;fileset&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;directory&gt;src/main/generated&lt;/directory&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;followSymlinks&gt;false&lt;/followSymlinks&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;useDefaultExcludes&gt;true&lt;/useDefaultExcludes&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;includes&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;include&gt;*.java&lt;/include&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;/includes&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;excludes&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;exclude&gt;Template*&lt;/exclude&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;/excludes&gt;\n\u00a0\u00a0&lt;/fileset&gt;\n&lt;/filesets&gt;\n"</span>,
 3 );
-<a class="jxr_linenumber" name="104" href="#104">104</a>                 
append( sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="105" href="#105">105</a> 
-<a class="jxr_linenumber" name="106" href="#106">106</a>                 
append( sb, <span class="jxr_string">"followSymLinks (Default: false)"</span>, 
2 );
-<a class="jxr_linenumber" name="107" href="#107">107</a>                 
append( sb, <span class="jxr_string">"Sets whether the plugin should follow 
symbolic links while deleting files from the default output directories of the 
project. Not following symlinks requires more IO operations and heap memory, 
regardless whether symlinks are actually present. So projects with a huge 
output directory that knowingly does not contain symlinks can improve 
performance by setting this parameter to true."</span>, 3 );
-<a class="jxr_linenumber" name="108" href="#108">108</a>                 
append( sb, <span class="jxr_string">"Expression: 
${clean.followSymLinks}"</span>, 3 );
-<a class="jxr_linenumber" name="109" href="#109">109</a>                 
append( sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="110" href="#110">110</a> 
-<a class="jxr_linenumber" name="111" href="#111">111</a>                 
append( sb, <span class="jxr_string">"retryOnError (Default: true)"</span>, 2 );
-<a class="jxr_linenumber" name="112" href="#112">112</a>                 
append( sb, <span class="jxr_string">"Indicates whether the plugin should 
undertake additional attempts (after a short delay) to delete a file if the 
first attempt failed. This is meant to help deleting files that are temporarily 
locked by third-party tools like virus scanners or search indexing."</span>, 3 
);
-<a class="jxr_linenumber" name="113" href="#113">113</a>                 
append( sb, <span class="jxr_string">"Expression: 
${maven.clean.retryOnError}"</span>, 3 );
-<a class="jxr_linenumber" name="114" href="#114">114</a>                 
append( sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="115" href="#115">115</a> 
-<a class="jxr_linenumber" name="116" href="#116">116</a>                 
append( sb, <span class="jxr_string">"skip (Default: false)"</span>, 2 );
-<a class="jxr_linenumber" name="117" href="#117">117</a>                 
append( sb, <span class="jxr_string">"Disables the plugin execution."</span>, 3 
);
-<a class="jxr_linenumber" name="118" href="#118">118</a>                 
append( sb, <span class="jxr_string">"Expression: ${clean.skip}"</span>, 3 );
-<a class="jxr_linenumber" name="119" href="#119">119</a>                 
append( sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="120" href="#120">120</a> 
-<a class="jxr_linenumber" name="121" href="#121">121</a>                 
append( sb, <span class="jxr_string">"verbose"</span>, 2 );
-<a class="jxr_linenumber" name="122" href="#122">122</a>                 
append( sb, <span class="jxr_string">"Sets whether the plugin runs in verbose 
mode. As of plugin version 2.3, the default value is derived from Maven\'s 
global debug flag (compare command line switch -X)."</span>, 3 );
-<a class="jxr_linenumber" name="123" href="#123">123</a>                 
append( sb, <span class="jxr_string">"Expression: ${clean.verbose}"</span>, 3 );
-<a class="jxr_linenumber" name="124" href="#124">124</a>                 
append( sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="125" href="#125">125</a>             }
-<a class="jxr_linenumber" name="126" href="#126">126</a>         }
-<a class="jxr_linenumber" name="127" href="#127">127</a> 
-<a class="jxr_linenumber" name="128" href="#128">128</a>         <strong 
class="jxr_keyword">if</strong> ( goal == <strong 
class="jxr_keyword">null</strong> || goal.length() &lt;= 0 || <span 
class="jxr_string">"help"</span>.equals( goal ) )
-<a class="jxr_linenumber" name="129" href="#129">129</a>         {
-<a class="jxr_linenumber" name="130" href="#130">130</a>             append( 
sb, <span class="jxr_string">"clean:help"</span>, 0 );
-<a class="jxr_linenumber" name="131" href="#131">131</a>             append( 
sb, <span class="jxr_string">"Display help information on 
maven-clean-plugin.\nCall\n\u00a0\u00a0mvn\u00a0clean:help\u00a0-Ddetail=true\u00a0-Dgoal=&lt;goal-name&gt;\nto
 display parameter details."</span>, 1 );
-<a class="jxr_linenumber" name="132" href="#132">132</a>             append( 
sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="133" href="#133">133</a>             <strong 
class="jxr_keyword">if</strong> ( detail )
-<a class="jxr_linenumber" name="134" href="#134">134</a>             {
-<a class="jxr_linenumber" name="135" href="#135">135</a>                 
append( sb, <span class="jxr_string">"Available parameters:"</span>, 1 );
-<a class="jxr_linenumber" name="136" href="#136">136</a>                 
append( sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="137" href="#137">137</a> 
-<a class="jxr_linenumber" name="138" href="#138">138</a>                 
append( sb, <span class="jxr_string">"detail (Default: false)"</span>, 2 );
-<a class="jxr_linenumber" name="139" href="#139">139</a>                 
append( sb, <span class="jxr_string">"If true, display all settable properties 
for each goal."</span>, 3 );
-<a class="jxr_linenumber" name="140" href="#140">140</a>                 
append( sb, <span class="jxr_string">"Expression: ${detail}"</span>, 3 );
-<a class="jxr_linenumber" name="141" href="#141">141</a>                 
append( sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="142" href="#142">142</a> 
-<a class="jxr_linenumber" name="143" href="#143">143</a>                 
append( sb, <span class="jxr_string">"goal"</span>, 2 );
-<a class="jxr_linenumber" name="144" href="#144">144</a>                 
append( sb, <span class="jxr_string">"The name of the goal for which to show 
help. If unspecified, all goals will be displayed."</span>, 3 );
-<a class="jxr_linenumber" name="145" href="#145">145</a>                 
append( sb, <span class="jxr_string">"Expression: ${goal}"</span>, 3 );
-<a class="jxr_linenumber" name="146" href="#146">146</a>                 
append( sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="147" href="#147">147</a> 
-<a class="jxr_linenumber" name="148" href="#148">148</a>                 
append( sb, <span class="jxr_string">"indentSize (Default: 2)"</span>, 2 );
-<a class="jxr_linenumber" name="149" href="#149">149</a>                 
append( sb, <span class="jxr_string">"The number of spaces per indentation 
level, should be positive."</span>, 3 );
-<a class="jxr_linenumber" name="150" href="#150">150</a>                 
append( sb, <span class="jxr_string">"Expression: ${indentSize}"</span>, 3 );
-<a class="jxr_linenumber" name="151" href="#151">151</a>                 
append( sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="152" href="#152">152</a> 
-<a class="jxr_linenumber" name="153" href="#153">153</a>                 
append( sb, <span class="jxr_string">"lineLength (Default: 80)"</span>, 2 );
-<a class="jxr_linenumber" name="154" href="#154">154</a>                 
append( sb, <span class="jxr_string">"The maximum length of a display line, 
should be positive."</span>, 3 );
-<a class="jxr_linenumber" name="155" href="#155">155</a>                 
append( sb, <span class="jxr_string">"Expression: ${lineLength}"</span>, 3 );
-<a class="jxr_linenumber" name="156" href="#156">156</a>                 
append( sb, <span class="jxr_string">""</span>, 0 );
-<a class="jxr_linenumber" name="157" href="#157">157</a>             }
-<a class="jxr_linenumber" name="158" href="#158">158</a>         }
-<a class="jxr_linenumber" name="159" href="#159">159</a> 
-<a class="jxr_linenumber" name="160" href="#160">160</a>         <strong 
class="jxr_keyword">if</strong> ( getLog().isInfoEnabled() )
-<a class="jxr_linenumber" name="161" href="#161">161</a>         {
-<a class="jxr_linenumber" name="162" href="#162">162</a>             
getLog().info( sb.toString() );
-<a class="jxr_linenumber" name="163" href="#163">163</a>         }
-<a class="jxr_linenumber" name="164" href="#164">164</a>     }
-<a class="jxr_linenumber" name="165" href="#165">165</a> 
-<a class="jxr_linenumber" name="166" href="#166">166</a>     <em 
class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="167" href="#167">167</a> <em 
class="jxr_javadoccomment">     * &lt;p&gt;Repeat a String 
&lt;code&gt;n&lt;/code&gt; times to form a new string.&lt;/p&gt;</em>
-<a class="jxr_linenumber" name="168" href="#168">168</a> <em 
class="jxr_javadoccomment">     *</em>
-<a class="jxr_linenumber" name="169" href="#169">169</a> <em 
class="jxr_javadoccomment">     * @param str String to repeat</em>
-<a class="jxr_linenumber" name="170" href="#170">170</a> <em 
class="jxr_javadoccomment">     * @param repeat number of times to repeat 
str</em>
-<a class="jxr_linenumber" name="171" href="#171">171</a> <em 
class="jxr_javadoccomment">     * @return String with repeated String</em>
-<a class="jxr_linenumber" name="172" href="#172">172</a> <em 
class="jxr_javadoccomment">     * @throws NegativeArraySizeException if 
&lt;code&gt;repeat &lt; 0&lt;/code&gt;</em>
-<a class="jxr_linenumber" name="173" href="#173">173</a> <em 
class="jxr_javadoccomment">     * @throws NullPointerException if str is 
&lt;code&gt;null&lt;/code&gt;</em>
-<a class="jxr_linenumber" name="174" href="#174">174</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="175" href="#175">175</a>     <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> String repeat( String str, <strong 
class="jxr_keyword">int</strong> repeat )
-<a class="jxr_linenumber" name="176" href="#176">176</a>     {
-<a class="jxr_linenumber" name="177" href="#177">177</a>         StringBuffer 
buffer = <strong class="jxr_keyword">new</strong> StringBuffer( repeat * 
str.length() );
-<a class="jxr_linenumber" name="178" href="#178">178</a> 
-<a class="jxr_linenumber" name="179" href="#179">179</a>         <strong 
class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 
0; i &lt; repeat; i++ )
-<a class="jxr_linenumber" name="180" href="#180">180</a>         {
-<a class="jxr_linenumber" name="181" href="#181">181</a>             
buffer.append( str );
-<a class="jxr_linenumber" name="182" href="#182">182</a>         }
-<a class="jxr_linenumber" name="183" href="#183">183</a> 
-<a class="jxr_linenumber" name="184" href="#184">184</a>         <strong 
class="jxr_keyword">return</strong> buffer.toString();
-<a class="jxr_linenumber" name="185" href="#185">185</a>     }
-<a class="jxr_linenumber" name="186" href="#186">186</a> 
-<a class="jxr_linenumber" name="187" href="#187">187</a>     <em 
class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em>
-<a class="jxr_linenumber" name="188" href="#188">188</a> <em 
class="jxr_javadoccomment">     * Append a description to the buffer by 
respecting the indentSize and lineLength parameters.</em>
-<a class="jxr_linenumber" name="189" href="#189">189</a> <em 
class="jxr_javadoccomment">     * &lt;b&gt;Note&lt;/b&gt;: The last character 
is always a new line.</em>
-<a class="jxr_linenumber" name="190" href="#190">190</a> <em 
class="jxr_javadoccomment">     * </em>
-<a class="jxr_linenumber" name="191" href="#191">191</a> <em 
class="jxr_javadoccomment">     * @param sb The buffer to append the 
description, not &lt;code&gt;null&lt;/code&gt;.</em>
-<a class="jxr_linenumber" name="192" href="#192">192</a> <em 
class="jxr_javadoccomment">     * @param description The description, not 
&lt;code&gt;null&lt;/code&gt;.</em>
-<a class="jxr_linenumber" name="193" href="#193">193</a> <em 
class="jxr_javadoccomment">     * @param indent The base indentation level of 
each line, must not be negative.</em>
-<a class="jxr_linenumber" name="194" href="#194">194</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="195" href="#195">195</a>     <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> 
append( StringBuffer sb, String description, <strong 
class="jxr_keyword">int</strong> indent )
-<a class="jxr_linenumber" name="196" href="#196">196</a>     {
-<a class="jxr_linenumber" name="197" href="#197">197</a>         <strong 
class="jxr_keyword">for</strong> ( Iterator it = toLines( description, indent, 
indentSize, lineLength ).iterator(); it.hasNext(); )
-<a class="jxr_linenumber" name="198" href="#198">198</a>         {
-<a class="jxr_linenumber" name="199" href="#199">199</a>             
sb.append( it.next().toString() ).append( '\n' );
-<a class="jxr_linenumber" name="200" href="#200">200</a>         }
-<a class="jxr_linenumber" name="201" href="#201">201</a>     }
-<a class="jxr_linenumber" name="202" href="#202">202</a> 
-<a class="jxr_linenumber" name="203" href="#203">203</a>     <em 
class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em>
-<a class="jxr_linenumber" name="204" href="#204">204</a> <em 
class="jxr_javadoccomment">     * Splits the specified text into lines of 
convenient display length.</em>
-<a class="jxr_linenumber" name="205" href="#205">205</a> <em 
class="jxr_javadoccomment">     * </em>
-<a class="jxr_linenumber" name="206" href="#206">206</a> <em 
class="jxr_javadoccomment">     * @param text The text to split into lines, 
must not be &lt;code&gt;null&lt;/code&gt;.</em>
-<a class="jxr_linenumber" name="207" href="#207">207</a> <em 
class="jxr_javadoccomment">     * @param indent The base indentation level of 
each line, must not be negative.</em>
-<a class="jxr_linenumber" name="208" href="#208">208</a> <em 
class="jxr_javadoccomment">     * @param indentSize The size of each 
indentation, must not be negative.</em>
-<a class="jxr_linenumber" name="209" href="#209">209</a> <em 
class="jxr_javadoccomment">     * @param lineLength The length of the line, 
must not be negative.</em>
-<a class="jxr_linenumber" name="210" href="#210">210</a> <em 
class="jxr_javadoccomment">     * @return The sequence of display lines, never 
&lt;code&gt;null&lt;/code&gt;.</em>
-<a class="jxr_linenumber" name="211" href="#211">211</a> <em 
class="jxr_javadoccomment">     * @throws NegativeArraySizeException if 
&lt;code&gt;indent &lt; 0&lt;/code&gt;</em>
-<a class="jxr_linenumber" name="212" href="#212">212</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="213" href="#213">213</a>     <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> List toLines( String text, <strong 
class="jxr_keyword">int</strong> indent, <strong 
class="jxr_keyword">int</strong> indentSize, <strong 
class="jxr_keyword">int</strong> lineLength )
-<a class="jxr_linenumber" name="214" href="#214">214</a>     {
-<a class="jxr_linenumber" name="215" href="#215">215</a>         
List&lt;String&gt; lines = <strong class="jxr_keyword">new</strong> 
ArrayList&lt;String&gt;();
-<a class="jxr_linenumber" name="216" href="#216">216</a> 
-<a class="jxr_linenumber" name="217" href="#217">217</a>         String ind = 
repeat( <span class="jxr_string">"\t"</span>, indent );
-<a class="jxr_linenumber" name="218" href="#218">218</a>         String[] 
plainLines = text.split( <span class="jxr_string">"(\r\n)|(\r)|(\n)"</span> );
-<a class="jxr_linenumber" name="219" href="#219">219</a>         <strong 
class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 
0; i &lt; plainLines.length; i++ )
-<a class="jxr_linenumber" name="220" href="#220">220</a>         {
-<a class="jxr_linenumber" name="221" href="#221">221</a>             toLines( 
lines, ind + plainLines[i], indentSize, lineLength );
-<a class="jxr_linenumber" name="222" href="#222">222</a>         }
-<a class="jxr_linenumber" name="223" href="#223">223</a> 
-<a class="jxr_linenumber" name="224" href="#224">224</a>         <strong 
class="jxr_keyword">return</strong> lines;
-<a class="jxr_linenumber" name="225" href="#225">225</a>     }
-<a class="jxr_linenumber" name="226" href="#226">226</a> 
-<a class="jxr_linenumber" name="227" href="#227">227</a>     <em 
class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em>
-<a class="jxr_linenumber" name="228" href="#228">228</a> <em 
class="jxr_javadoccomment">     * Adds the specified line to the output 
sequence, performing line wrapping if necessary.</em>
-<a class="jxr_linenumber" name="229" href="#229">229</a> <em 
class="jxr_javadoccomment">     * </em>
-<a class="jxr_linenumber" name="230" href="#230">230</a> <em 
class="jxr_javadoccomment">     * @param lines The sequence of display lines, 
must not be &lt;code&gt;null&lt;/code&gt;.</em>
-<a class="jxr_linenumber" name="231" href="#231">231</a> <em 
class="jxr_javadoccomment">     * @param line The line to add, must not be 
&lt;code&gt;null&lt;/code&gt;.</em>
-<a class="jxr_linenumber" name="232" href="#232">232</a> <em 
class="jxr_javadoccomment">     * @param indentSize The size of each 
indentation, must not be negative.</em>
-<a class="jxr_linenumber" name="233" href="#233">233</a> <em 
class="jxr_javadoccomment">     * @param lineLength The length of the line, 
must not be negative.</em>
-<a class="jxr_linenumber" name="234" href="#234">234</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="235" href="#235">235</a>     <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> 
toLines( List&lt;String&gt; lines, String line, <strong 
class="jxr_keyword">int</strong> indentSize, <strong 
class="jxr_keyword">int</strong> lineLength )
-<a class="jxr_linenumber" name="236" href="#236">236</a>     {
-<a class="jxr_linenumber" name="237" href="#237">237</a>         <strong 
class="jxr_keyword">int</strong> lineIndent = getIndentLevel( line );
-<a class="jxr_linenumber" name="238" href="#238">238</a>         StringBuffer 
buf = <strong class="jxr_keyword">new</strong> StringBuffer( 256 );
-<a class="jxr_linenumber" name="239" href="#239">239</a>         String[] 
tokens = line.split( <span class="jxr_string">" +"</span> );
-<a class="jxr_linenumber" name="240" href="#240">240</a>         <strong 
class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 
0; i &lt; tokens.length; i++ )
-<a class="jxr_linenumber" name="241" href="#241">241</a>         {
-<a class="jxr_linenumber" name="242" href="#242">242</a>             String 
token = tokens[i];
-<a class="jxr_linenumber" name="243" href="#243">243</a>             <strong 
class="jxr_keyword">if</strong> ( i &gt; 0 )
-<a class="jxr_linenumber" name="244" href="#244">244</a>             {
-<a class="jxr_linenumber" name="245" href="#245">245</a>                 
<strong class="jxr_keyword">if</strong> ( buf.length() + token.length() &gt;= 
lineLength )
-<a class="jxr_linenumber" name="246" href="#246">246</a>                 {
-<a class="jxr_linenumber" name="247" href="#247">247</a>                     
lines.add( buf.toString() );
-<a class="jxr_linenumber" name="248" href="#248">248</a>                     
buf.setLength( 0 );
-<a class="jxr_linenumber" name="249" href="#249">249</a>                     
buf.append( repeat( <span class="jxr_string">" "</span>, lineIndent * 
indentSize ) );
-<a class="jxr_linenumber" name="250" href="#250">250</a>                 }
-<a class="jxr_linenumber" name="251" href="#251">251</a>                 
<strong class="jxr_keyword">else</strong>
-<a class="jxr_linenumber" name="252" href="#252">252</a>                 {
-<a class="jxr_linenumber" name="253" href="#253">253</a>                     
buf.append( ' ' );
-<a class="jxr_linenumber" name="254" href="#254">254</a>                 }
-<a class="jxr_linenumber" name="255" href="#255">255</a>             }
-<a class="jxr_linenumber" name="256" href="#256">256</a>             <strong 
class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> j = 
0; j &lt; token.length(); j++ )
-<a class="jxr_linenumber" name="257" href="#257">257</a>             {
-<a class="jxr_linenumber" name="258" href="#258">258</a>                 
<strong class="jxr_keyword">char</strong> c = token.charAt( j );
-<a class="jxr_linenumber" name="259" href="#259">259</a>                 
<strong class="jxr_keyword">if</strong> ( c == '\t' )
-<a class="jxr_linenumber" name="260" href="#260">260</a>                 {
-<a class="jxr_linenumber" name="261" href="#261">261</a>                     
buf.append( repeat( <span class="jxr_string">" "</span>, indentSize - 
buf.length() % indentSize ) );
-<a class="jxr_linenumber" name="262" href="#262">262</a>                 }
-<a class="jxr_linenumber" name="263" href="#263">263</a>                 
<strong class="jxr_keyword">else</strong> <strong 
class="jxr_keyword">if</strong> ( c == '\u00A0' )
-<a class="jxr_linenumber" name="264" href="#264">264</a>                 {
-<a class="jxr_linenumber" name="265" href="#265">265</a>                     
buf.append( ' ' );
-<a class="jxr_linenumber" name="266" href="#266">266</a>                 }
-<a class="jxr_linenumber" name="267" href="#267">267</a>                 
<strong class="jxr_keyword">else</strong>
-<a class="jxr_linenumber" name="268" href="#268">268</a>                 {
-<a class="jxr_linenumber" name="269" href="#269">269</a>                     
buf.append( c );
-<a class="jxr_linenumber" name="270" href="#270">270</a>                 }
-<a class="jxr_linenumber" name="271" href="#271">271</a>             }
-<a class="jxr_linenumber" name="272" href="#272">272</a>         }
-<a class="jxr_linenumber" name="273" href="#273">273</a>         lines.add( 
buf.toString() );
-<a class="jxr_linenumber" name="274" href="#274">274</a>     }
-<a class="jxr_linenumber" name="275" href="#275">275</a> 
-<a class="jxr_linenumber" name="276" href="#276">276</a>     <em 
class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> </em>
-<a class="jxr_linenumber" name="277" href="#277">277</a> <em 
class="jxr_javadoccomment">     * Gets the indentation level of the specified 
line.</em>
-<a class="jxr_linenumber" name="278" href="#278">278</a> <em 
class="jxr_javadoccomment">     * </em>
-<a class="jxr_linenumber" name="279" href="#279">279</a> <em 
class="jxr_javadoccomment">     * @param line The line whose indentation level 
should be retrieved, must not be &lt;code&gt;null&lt;/code&gt;.</em>
-<a class="jxr_linenumber" name="280" href="#280">280</a> <em 
class="jxr_javadoccomment">     * @return The indentation level of the 
line.</em>
-<a class="jxr_linenumber" name="281" href="#281">281</a> <em 
class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="282" href="#282">282</a>     <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> 
getIndentLevel( String line )
-<a class="jxr_linenumber" name="283" href="#283">283</a>     {
-<a class="jxr_linenumber" name="284" href="#284">284</a>         <strong 
class="jxr_keyword">int</strong> level = 0;
-<a class="jxr_linenumber" name="285" href="#285">285</a>         <strong 
class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 
0; i &lt; line.length() &amp;&amp; line.charAt( i ) == '\t'; i++ )
-<a class="jxr_linenumber" name="286" href="#286">286</a>         {
-<a class="jxr_linenumber" name="287" href="#287">287</a>             level++;
-<a class="jxr_linenumber" name="288" href="#288">288</a>         }
-<a class="jxr_linenumber" name="289" href="#289">289</a>         <strong 
class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 
level + 1; i &lt;= level + 4 &amp;&amp; i &lt; line.length(); i++ )
-<a class="jxr_linenumber" name="290" href="#290">290</a>         {
-<a class="jxr_linenumber" name="291" href="#291">291</a>             <strong 
class="jxr_keyword">if</strong> ( line.charAt( i ) == '\t' )
-<a class="jxr_linenumber" name="292" href="#292">292</a>             {
-<a class="jxr_linenumber" name="293" href="#293">293</a>                 
level++;
-<a class="jxr_linenumber" name="294" href="#294">294</a>                 
<strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="295" href="#295">295</a>             }
-<a class="jxr_linenumber" name="296" href="#296">296</a>         }
-<a class="jxr_linenumber" name="297" href="#297">297</a>         <strong 
class="jxr_keyword">return</strong> level;
-<a class="jxr_linenumber" name="298" href="#298">298</a>     }
-<a class="jxr_linenumber" name="299" href="#299">299</a> }
-</pre>
-<hr/><div id="footer">This page was automatically generated by <a 
href="http://maven.apache.org/";>Maven</a></div></body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+<title>HelpMojo xref</title>
+<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a 
href="../../../../../../apidocs/org/apache/maven/plugin/clean/HelpMojo.html">View
 Javadoc</a></div><pre>
+<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <strong 
class="jxr_keyword">package</strong> org.apache.maven.plugin.clean;
+<a class="jxr_linenumber" name="L2" href="#L2">2</a>   
+<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <strong 
class="jxr_keyword">import</strong> org.apache.maven.plugin.AbstractMojo;
+<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <strong 
class="jxr_keyword">import</strong> 
org.apache.maven.plugin.MojoExecutionException;
+<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <strong 
class="jxr_keyword">import</strong> org.apache.maven.plugins.annotations.Mojo;
+<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <strong 
class="jxr_keyword">import</strong> 
org.apache.maven.plugins.annotations.Parameter;
+<a class="jxr_linenumber" name="L7" href="#L7">7</a>   
+<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <strong 
class="jxr_keyword">import</strong> org.w3c.dom.Document;
+<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <strong 
class="jxr_keyword">import</strong> org.w3c.dom.Element;
+<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <strong 
class="jxr_keyword">import</strong> org.w3c.dom.Node;
+<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <strong 
class="jxr_keyword">import</strong> org.w3c.dom.NodeList;
+<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <strong 
class="jxr_keyword">import</strong> org.xml.sax.SAXException;
+<a class="jxr_linenumber" name="L13" href="#L13">13</a>  
+<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <strong 
class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilder;
+<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <strong 
class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilderFactory;
+<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <strong 
class="jxr_keyword">import</strong> 
javax.xml.parsers.ParserConfigurationException;
+<a class="jxr_linenumber" name="L17" href="#L17">17</a>  <strong 
class="jxr_keyword">import</strong> java.io.IOException;
+<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <strong 
class="jxr_keyword">import</strong> java.io.InputStream;
+<a class="jxr_linenumber" name="L19" href="#L19">19</a>  <strong 
class="jxr_keyword">import</strong> java.util.ArrayList;
+<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <strong 
class="jxr_keyword">import</strong> java.util.Iterator;
+<a class="jxr_linenumber" name="L21" href="#L21">21</a>  <strong 
class="jxr_keyword">import</strong> java.util.List;
+<a class="jxr_linenumber" name="L22" href="#L22">22</a>  
+<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <em 
class="jxr_javadoccomment"> * Display help information on 
maven-clean-plugin.&lt;br/&gt;</em>
+<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <em 
class="jxr_javadoccomment"> * Call &lt;code&gt;mvn clean:help -Ddetail=true 
-Dgoal=&amp;lt;goal-name&amp;gt;&lt;/code&gt; to display parameter details.</em>
+<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <em 
class="jxr_javadoccomment"> * @author</em>
+<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <em 
class="jxr_javadoccomment"> * @version</em>
+<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <em 
class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="L29" href="#L29">29</a>  @Mojo( name = <span 
class="jxr_string">"help"</span>, requiresProject = false, threadSafe = <strong 
class="jxr_keyword">true</strong> )
+<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> 
<a 
href="../../../../../org/apache/maven/plugin/clean/HelpMojo.html">HelpMojo</a>
+<a class="jxr_linenumber" name="L31" href="#L31">31</a>      <strong 
class="jxr_keyword">extends</strong> AbstractMojo
+<a class="jxr_linenumber" name="L32" href="#L32">32</a>  {
+<a class="jxr_linenumber" name="L33" href="#L33">33</a>      <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <em 
class="jxr_javadoccomment">     * If &lt;code&gt;true&lt;/code&gt;, display all 
settable properties for each goal.</em>
+<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L37" href="#L37">37</a>      @Parameter( 
property = <span class="jxr_string">"detail"</span>, defaultValue = <span 
class="jxr_string">"false"</span> )
+<a class="jxr_linenumber" name="L38" href="#L38">38</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">boolean</strong> detail;
+<a class="jxr_linenumber" name="L39" href="#L39">39</a>  
+<a class="jxr_linenumber" name="L40" href="#L40">40</a>      <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <em 
class="jxr_javadoccomment">     * The name of the goal for which to show help. 
If unspecified, all goals will be displayed.</em>
+<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L44" href="#L44">44</a>      @Parameter( 
property = <span class="jxr_string">"goal"</span> )
+<a class="jxr_linenumber" name="L45" href="#L45">45</a>      <strong 
class="jxr_keyword">private</strong> java.lang.String goal;
+<a class="jxr_linenumber" name="L46" href="#L46">46</a>  
+<a class="jxr_linenumber" name="L47" href="#L47">47</a>      <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L48" href="#L48">48</a>  <em 
class="jxr_javadoccomment">     * The maximum length of a display line, should 
be positive.</em>
+<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L50" href="#L50">50</a>  <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L51" href="#L51">51</a>      @Parameter( 
property = <span class="jxr_string">"lineLength"</span>, defaultValue = <span 
class="jxr_string">"80"</span> )
+<a class="jxr_linenumber" name="L52" href="#L52">52</a>      <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> 
lineLength;
+<a class="jxr_linenumber" name="L53" href="#L53">53</a>  
+<a class="jxr_linenumber" name="L54" href="#L54">54</a>      <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L55" href="#L55">55</a>  <em 
class="jxr_javadoccomment">     * The number of spaces per indentation level, 
should be positive.</em>
+<a class="jxr_linenumber" name="L56" href="#L56">56</a>  <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L57" href="#L57">57</a>  <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L58" href="#L58">58</a>      @Parameter( 
property = <span class="jxr_string">"indentSize"</span>, defaultValue = <span 
class="jxr_string">"2"</span> )
+<a class="jxr_linenumber" name="L59" href="#L59">59</a>      <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> 
indentSize;
+<a class="jxr_linenumber" name="L60" href="#L60">60</a>  
+<a class="jxr_linenumber" name="L61" href="#L61">61</a>      <em 
class="jxr_comment">// groupId/artifactId/plugin-help.xml</em>
+<a class="jxr_linenumber" name="L62" href="#L62">62</a>      <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> 
String PLUGIN_HELP_PATH = <span 
class="jxr_string">"/META-INF/maven/org.apache.maven.plugins/maven-clean-plugin/plugin-help.xml"</span>;
+<a class="jxr_linenumber" name="L63" href="#L63">63</a>  
+<a class="jxr_linenumber" name="L64" href="#L64">64</a>      <strong 
class="jxr_keyword">private</strong> Document build()
+<a class="jxr_linenumber" name="L65" href="#L65">65</a>          <strong 
class="jxr_keyword">throws</strong> MojoExecutionException
+<a class="jxr_linenumber" name="L66" href="#L66">66</a>      {
+<a class="jxr_linenumber" name="L67" href="#L67">67</a>          
getLog().debug( <span class="jxr_string">"load plugin-help.xml: "</span> + 
PLUGIN_HELP_PATH );
+<a class="jxr_linenumber" name="L68" href="#L68">68</a>          InputStream 
is = getClass().getResourceAsStream( PLUGIN_HELP_PATH );
+<a class="jxr_linenumber" name="L69" href="#L69">69</a>          <strong 
class="jxr_keyword">try</strong>
+<a class="jxr_linenumber" name="L70" href="#L70">70</a>          {
+<a class="jxr_linenumber" name="L71" href="#L71">71</a>              
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+<a class="jxr_linenumber" name="L72" href="#L72">72</a>              
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
+<a class="jxr_linenumber" name="L73" href="#L73">73</a>              <strong 
class="jxr_keyword">return</strong> dBuilder.parse( is );
+<a class="jxr_linenumber" name="L74" href="#L74">74</a>          }
+<a class="jxr_linenumber" name="L75" href="#L75">75</a>          <strong 
class="jxr_keyword">catch</strong> ( IOException e )
+<a class="jxr_linenumber" name="L76" href="#L76">76</a>          {
+<a class="jxr_linenumber" name="L77" href="#L77">77</a>              <strong 
class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> 
MojoExecutionException( e.getMessage(), e );
+<a class="jxr_linenumber" name="L78" href="#L78">78</a>          }
+<a class="jxr_linenumber" name="L79" href="#L79">79</a>          <strong 
class="jxr_keyword">catch</strong> ( ParserConfigurationException e )
+<a class="jxr_linenumber" name="L80" href="#L80">80</a>          {
+<a class="jxr_linenumber" name="L81" href="#L81">81</a>              <strong 
class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> 
MojoExecutionException( e.getMessage(), e );
+<a class="jxr_linenumber" name="L82" href="#L82">82</a>          }
+<a class="jxr_linenumber" name="L83" href="#L83">83</a>          <strong 
class="jxr_keyword">catch</strong> ( SAXException e )
+<a class="jxr_linenumber" name="L84" href="#L84">84</a>          {
+<a class="jxr_linenumber" name="L85" href="#L85">85</a>              <strong 
class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> 
MojoExecutionException( e.getMessage(), e );
+<a class="jxr_linenumber" name="L86" href="#L86">86</a>          }
+<a class="jxr_linenumber" name="L87" href="#L87">87</a>      }
+<a class="jxr_linenumber" name="L88" href="#L88">88</a>  
+<a class="jxr_linenumber" name="L89" href="#L89">89</a>      <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L90" href="#L90">90</a>  <em 
class="jxr_javadoccomment">     * {@inheritDoc}</em>
+<a class="jxr_linenumber" name="L91" href="#L91">91</a>  <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L92" href="#L92">92</a>      <strong 
class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> 
execute()
+<a class="jxr_linenumber" name="L93" href="#L93">93</a>          <strong 
class="jxr_keyword">throws</strong> MojoExecutionException
+<a class="jxr_linenumber" name="L94" href="#L94">94</a>      {
+<a class="jxr_linenumber" name="L95" href="#L95">95</a>          <strong 
class="jxr_keyword">if</strong> ( lineLength &lt;= 0 )
+<a class="jxr_linenumber" name="L96" href="#L96">96</a>          {
+<a class="jxr_linenumber" name="L97" href="#L97">97</a>              
getLog().warn( <span class="jxr_string">"The parameter 'lineLength' should be 
positive, using '80' as default."</span> );
+<a class="jxr_linenumber" name="L98" href="#L98">98</a>              
lineLength = 80;
+<a class="jxr_linenumber" name="L99" href="#L99">99</a>          }
+<a class="jxr_linenumber" name="L100" href="#L100">100</a>         <strong 
class="jxr_keyword">if</strong> ( indentSize &lt;= 0 )
+<a class="jxr_linenumber" name="L101" href="#L101">101</a>         {
+<a class="jxr_linenumber" name="L102" href="#L102">102</a>             
getLog().warn( <span class="jxr_string">"The parameter 'indentSize' should be 
positive, using '2' as default."</span> );
+<a class="jxr_linenumber" name="L103" href="#L103">103</a>             
indentSize = 2;
+<a class="jxr_linenumber" name="L104" href="#L104">104</a>         }
+<a class="jxr_linenumber" name="L105" href="#L105">105</a> 
+<a class="jxr_linenumber" name="L106" href="#L106">106</a>         Document 
doc = build();
+<a class="jxr_linenumber" name="L107" href="#L107">107</a> 
+<a class="jxr_linenumber" name="L108" href="#L108">108</a>         
StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
+<a class="jxr_linenumber" name="L109" href="#L109">109</a>         Node plugin 
= getSingleChild( doc, <span class="jxr_string">"plugin"</span> );
+<a class="jxr_linenumber" name="L110" href="#L110">110</a> 
+<a class="jxr_linenumber" name="L111" href="#L111">111</a> 
+<a class="jxr_linenumber" name="L112" href="#L112">112</a>         String name 
= getValue( plugin, <span class="jxr_string">"name"</span> );
+<a class="jxr_linenumber" name="L113" href="#L113">113</a>         String 
version = getValue( plugin, <span class="jxr_string">"version"</span> );
+<a class="jxr_linenumber" name="L114" href="#L114">114</a>         String id = 
getValue( plugin, <span class="jxr_string">"groupId"</span> ) + <span 
class="jxr_string">":"</span> + getValue( plugin, <span 
class="jxr_string">"artifactId"</span> ) + <span class="jxr_string">":"</span> 
+ version;
+<a class="jxr_linenumber" name="L115" href="#L115">115</a>         <strong 
class="jxr_keyword">if</strong> ( isNotEmpty( name ) &amp;&amp; !name.contains( 
id ) )
+<a class="jxr_linenumber" name="L116" href="#L116">116</a>         {
+<a class="jxr_linenumber" name="L117" href="#L117">117</a>             append( 
sb, name + <span class="jxr_string">" "</span> + version, 0 );
+<a class="jxr_linenumber" name="L118" href="#L118">118</a>         }
+<a class="jxr_linenumber" name="L119" href="#L119">119</a>         <strong 
class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L120" href="#L120">120</a>         {
+<a class="jxr_linenumber" name="L121" href="#L121">121</a>             <strong 
class="jxr_keyword">if</strong> ( isNotEmpty( name ) )
+<a class="jxr_linenumber" name="L122" href="#L122">122</a>             {
+<a class="jxr_linenumber" name="L123" href="#L123">123</a>                 
append( sb, name, 0 );
+<a class="jxr_linenumber" name="L124" href="#L124">124</a>             }
+<a class="jxr_linenumber" name="L125" href="#L125">125</a>             <strong 
class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L126" href="#L126">126</a>             {
+<a class="jxr_linenumber" name="L127" href="#L127">127</a>                 
append( sb, id, 0 );
+<a class="jxr_linenumber" name="L128" href="#L128">128</a>             }
+<a class="jxr_linenumber" name="L129" href="#L129">129</a>         }
+<a class="jxr_linenumber" name="L130" href="#L130">130</a>         append( sb, 
getValue( plugin, <span class="jxr_string">"description"</span> ), 1 );
+<a class="jxr_linenumber" name="L131" href="#L131">131</a>         append( sb, 
<span class="jxr_string">""</span>, 0 );
+<a class="jxr_linenumber" name="L132" href="#L132">132</a> 
+<a class="jxr_linenumber" name="L133" href="#L133">133</a>         <em 
class="jxr_comment">//&lt;goalPrefix&gt;plugin&lt;/goalPrefix&gt;</em>
+<a class="jxr_linenumber" name="L134" href="#L134">134</a>         String 
goalPrefix = getValue( plugin, <span class="jxr_string">"goalPrefix"</span> );
+<a class="jxr_linenumber" name="L135" href="#L135">135</a> 
+<a class="jxr_linenumber" name="L136" href="#L136">136</a>         Node mojos1 
= getSingleChild( plugin, <span class="jxr_string">"mojos"</span> );
+<a class="jxr_linenumber" name="L137" href="#L137">137</a> 
+<a class="jxr_linenumber" name="L138" href="#L138">138</a>         
List&lt;Node&gt; mojos = findNamedChild( mojos1, <span 
class="jxr_string">"mojo"</span> );
+<a class="jxr_linenumber" name="L139" href="#L139">139</a> 
+<a class="jxr_linenumber" name="L140" href="#L140">140</a>         <strong 
class="jxr_keyword">if</strong> ( goal == <strong 
class="jxr_keyword">null</strong> || goal.length() &lt;= 0 )
+<a class="jxr_linenumber" name="L141" href="#L141">141</a>         {
+<a class="jxr_linenumber" name="L142" href="#L142">142</a>             append( 
sb, <span class="jxr_string">"This plugin has "</span> + mojos.size() + ( 
mojos.size() &gt; 1 ? <span class="jxr_string">" goals:"</span> : <span 
class="jxr_string">" goal:"</span> ), 0 );
+<a class="jxr_linenumber" name="L143" href="#L143">143</a>             append( 
sb, <span class="jxr_string">""</span>, 0 );
+<a class="jxr_linenumber" name="L144" href="#L144">144</a>         }
+<a class="jxr_linenumber" name="L145" href="#L145">145</a> 
+<a class="jxr_linenumber" name="L146" href="#L146">146</a>         <strong 
class="jxr_keyword">for</strong> ( Node mojo : mojos )
+<a class="jxr_linenumber" name="L147" href="#L147">147</a>         {
+<a class="jxr_linenumber" name="L148" href="#L148">148</a>             
writeGoal( sb, goalPrefix, (Element) mojo );
+<a class="jxr_linenumber" name="L149" href="#L149">149</a>         }
+<a class="jxr_linenumber" name="L150" href="#L150">150</a> 
+<a class="jxr_linenumber" name="L151" href="#L151">151</a>         <strong 
class="jxr_keyword">if</strong> ( getLog().isInfoEnabled() )
+<a class="jxr_linenumber" name="L152" href="#L152">152</a>         {
+<a class="jxr_linenumber" name="L153" href="#L153">153</a>             
getLog().info( sb.toString() );
+<a class="jxr_linenumber" name="L154" href="#L154">154</a>         }
+<a class="jxr_linenumber" name="L155" href="#L155">155</a>     }
+<a class="jxr_linenumber" name="L156" href="#L156">156</a> 
+<a class="jxr_linenumber" name="L157" href="#L157">157</a> 
+<a class="jxr_linenumber" name="L158" href="#L158">158</a>     <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong 
class="jxr_keyword">boolean</strong> isNotEmpty( String string )
+<a class="jxr_linenumber" name="L159" href="#L159">159</a>     {
+<a class="jxr_linenumber" name="L160" href="#L160">160</a>         <strong 
class="jxr_keyword">return</strong> string != <strong 
class="jxr_keyword">null</strong> &amp;&amp; string.length() &gt; 0;
+<a class="jxr_linenumber" name="L161" href="#L161">161</a>     }
+<a class="jxr_linenumber" name="L162" href="#L162">162</a> 
+<a class="jxr_linenumber" name="L163" href="#L163">163</a>     <strong 
class="jxr_keyword">private</strong> String getValue( Node node, String 
elementName )
+<a class="jxr_linenumber" name="L164" href="#L164">164</a>         <strong 
class="jxr_keyword">throws</strong> MojoExecutionException
+<a class="jxr_linenumber" name="L165" href="#L165">165</a>     {
+<a class="jxr_linenumber" name="L166" href="#L166">166</a>         <strong 
class="jxr_keyword">return</strong> getSingleChild( node, elementName 
).getTextContent();
+<a class="jxr_linenumber" name="L167" href="#L167">167</a>     }
+<a class="jxr_linenumber" name="L168" href="#L168">168</a> 
+<a class="jxr_linenumber" name="L169" href="#L169">169</a>     <strong 
class="jxr_keyword">private</strong> Node getSingleChild( Node node, String 
elementName )
+<a class="jxr_linenumber" name="L170" href="#L170">170</a>         <strong 
class="jxr_keyword">throws</strong> MojoExecutionException
+<a class="jxr_linenumber" name="L171" href="#L171">171</a>     {
+<a class="jxr_linenumber" name="L172" href="#L172">172</a>         
List&lt;Node&gt; namedChild = findNamedChild( node, elementName );
+<a class="jxr_linenumber" name="L173" href="#L173">173</a>         <strong 
class="jxr_keyword">if</strong> ( namedChild.isEmpty() )
+<a class="jxr_linenumber" name="L174" href="#L174">174</a>         {
+<a class="jxr_linenumber" name="L175" href="#L175">175</a>             <strong 
class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> 
MojoExecutionException( <span class="jxr_string">"Could not find "</span> + 
elementName + <span class="jxr_string">" in plugin-help.xml"</span> );
+<a class="jxr_linenumber" name="L176" href="#L176">176</a>         }
+<a class="jxr_linenumber" name="L177" href="#L177">177</a>         <strong 
class="jxr_keyword">if</strong> ( namedChild.size() &gt; 1 )
+<a class="jxr_linenumber" name="L178" href="#L178">178</a>         {
+<a class="jxr_linenumber" name="L179" href="#L179">179</a>             <strong 
class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> 
MojoExecutionException( <span class="jxr_string">"Multiple "</span> + 
elementName + <span class="jxr_string">" in plugin-help.xml"</span> );
+<a class="jxr_linenumber" name="L180" href="#L180">180</a>         }
+<a class="jxr_linenumber" name="L181" href="#L181">181</a>         <strong 
class="jxr_keyword">return</strong> namedChild.get( 0 );
+<a class="jxr_linenumber" name="L182" href="#L182">182</a>     }
+<a class="jxr_linenumber" name="L183" href="#L183">183</a> 
+<a class="jxr_linenumber" name="L184" href="#L184">184</a>     <strong 
class="jxr_keyword">private</strong> List&lt;Node&gt; findNamedChild( Node 
node, String elementName )
+<a class="jxr_linenumber" name="L185" href="#L185">185</a>     {
+<a class="jxr_linenumber" name="L186" href="#L186">186</a>         
List&lt;Node&gt; result = <strong class="jxr_keyword">new</strong> 
ArrayList&lt;Node&gt;();
+<a class="jxr_linenumber" name="L187" href="#L187">187</a>         NodeList 
childNodes = node.getChildNodes();
+<a class="jxr_linenumber" name="L188" href="#L188">188</a>         <strong 
class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 
0; i &lt; childNodes.getLength(); i++ )
+<a class="jxr_linenumber" name="L189" href="#L189">189</a>         {
+<a class="jxr_linenumber" name="L190" href="#L190">190</a>             Node 
item = childNodes.item( i );
+<a class="jxr_linenumber" name="L191" href="#L191">191</a>             <strong 
class="jxr_keyword">if</strong> ( elementName.equals( item.getNodeName() ) )
+<a class="jxr_linenumber" name="L192" href="#L192">192</a>             {
+<a class="jxr_linenumber" name="L193" href="#L193">193</a>                 
result.add( item );
+<a class="jxr_linenumber" name="L194" href="#L194">194</a>             }
+<a class="jxr_linenumber" name="L195" href="#L195">195</a>         }
+<a class="jxr_linenumber" name="L196" href="#L196">196</a>         <strong 
class="jxr_keyword">return</strong> result;
+<a class="jxr_linenumber" name="L197" href="#L197">197</a>     }
+<a class="jxr_linenumber" name="L198" href="#L198">198</a> 
+<a class="jxr_linenumber" name="L199" href="#L199">199</a>     <strong 
class="jxr_keyword">private</strong> Node findSingleChild( Node node, String 
elementName )
+<a class="jxr_linenumber" name="L200" href="#L200">200</a>         <strong 
class="jxr_keyword">throws</strong> MojoExecutionException
+<a class="jxr_linenumber" name="L201" href="#L201">201</a>     {
+<a class="jxr_linenumber" name="L202" href="#L202">202</a>         
List&lt;Node&gt; elementsByTagName = findNamedChild( node, elementName );
+<a class="jxr_linenumber" name="L203" href="#L203">203</a>         <strong 
class="jxr_keyword">if</strong> ( elementsByTagName.isEmpty() )
+<a class="jxr_linenumber" name="L204" href="#L204">204</a>         {
+<a class="jxr_linenumber" name="L205" href="#L205">205</a>             <strong 
class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L206" href="#L206">206</a>         }
+<a class="jxr_linenumber" name="L207" href="#L207">207</a>         <strong 
class="jxr_keyword">if</strong> ( elementsByTagName.size() &gt; 1 )
+<a class="jxr_linenumber" name="L208" href="#L208">208</a>         {
+<a class="jxr_linenumber" name="L209" href="#L209">209</a>             <strong 
class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> 
MojoExecutionException( <span class="jxr_string">"Multiple "</span> + 
elementName + <span class="jxr_string">"in plugin-help.xml"</span> );
+<a class="jxr_linenumber" name="L210" href="#L210">210</a>         }
+<a class="jxr_linenumber" name="L211" href="#L211">211</a>         <strong 
class="jxr_keyword">return</strong> elementsByTagName.get( 0 );
+<a class="jxr_linenumber" name="L212" href="#L212">212</a>     }
+<a class="jxr_linenumber" name="L213" href="#L213">213</a> 
+<a class="jxr_linenumber" name="L214" href="#L214">214</a>     <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> 
writeGoal( StringBuilder sb, String goalPrefix, Element mojo )
+<a class="jxr_linenumber" name="L215" href="#L215">215</a>         <strong 
class="jxr_keyword">throws</strong> MojoExecutionException
+<a class="jxr_linenumber" name="L216" href="#L216">216</a>     {
+<a class="jxr_linenumber" name="L217" href="#L217">217</a>         String 
mojoGoal = getValue( mojo, <span class="jxr_string">"goal"</span> );
+<a class="jxr_linenumber" name="L218" href="#L218">218</a>         Node 
configurationElement = findSingleChild( mojo, <span 
class="jxr_string">"configuration"</span> );
+<a class="jxr_linenumber" name="L219" href="#L219">219</a>             Node 
description = findSingleChild( mojo, <span 
class="jxr_string">"description"</span> );
+<a class="jxr_linenumber" name="L220" href="#L220">220</a>         <strong 
class="jxr_keyword">if</strong> ( goal == <strong 
class="jxr_keyword">null</strong> || goal.length() &lt;= 0 || mojoGoal.equals( 
goal ) )
+<a class="jxr_linenumber" name="L221" href="#L221">221</a>         {
+<a class="jxr_linenumber" name="L222" href="#L222">222</a>             append( 
sb, goalPrefix + <span class="jxr_string">":"</span> + mojoGoal, 0 );
+<a class="jxr_linenumber" name="L223" href="#L223">223</a>             Node 
deprecated = findSingleChild( mojo, <span 
class="jxr_string">"deprecated"</span> );
+<a class="jxr_linenumber" name="L224" href="#L224">224</a>             <strong 
class="jxr_keyword">if</strong> ( ( deprecated != <strong 
class="jxr_keyword">null</strong> ) &amp;&amp; isNotEmpty( 
deprecated.getNodeValue() ) )
+<a class="jxr_linenumber" name="L225" href="#L225">225</a>             {
+<a class="jxr_linenumber" name="L226" href="#L226">226</a>                 
append( sb, <span class="jxr_string">"Deprecated. "</span> + deprecated, 1 );
+<a class="jxr_linenumber" name="L227" href="#L227">227</a>                 
<strong class="jxr_keyword">if</strong> ( detail &amp;&amp; description != 
<strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L228" href="#L228">228</a>                 {
+<a class="jxr_linenumber" name="L229" href="#L229">229</a>                     
append( sb, <span class="jxr_string">""</span>, 0 );
+<a class="jxr_linenumber" name="L230" href="#L230">230</a>                     
append( sb, description.getTextContent(), 1 );
+<a class="jxr_linenumber" name="L231" href="#L231">231</a>                 }
+<a class="jxr_linenumber" name="L232" href="#L232">232</a>             }
+<a class="jxr_linenumber" name="L233" href="#L233">233</a>             <strong 
class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> 
(description != <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L234" href="#L234">234</a>             {
+<a class="jxr_linenumber" name="L235" href="#L235">235</a>                 
append( sb, description.getTextContent(), 1 );
+<a class="jxr_linenumber" name="L236" href="#L236">236</a>             }
+<a class="jxr_linenumber" name="L237" href="#L237">237</a>             append( 
sb, <span class="jxr_string">""</span>, 0 );
+<a class="jxr_linenumber" name="L238" href="#L238">238</a> 
+<a class="jxr_linenumber" name="L239" href="#L239">239</a>             <strong 
class="jxr_keyword">if</strong> ( detail )
+<a class="jxr_linenumber" name="L240" href="#L240">240</a>             {
+<a class="jxr_linenumber" name="L241" href="#L241">241</a>                 
Node parametersNode = getSingleChild( mojo, <span 
class="jxr_string">"parameters"</span> );
+<a class="jxr_linenumber" name="L242" href="#L242">242</a>                 
List&lt;Node&gt; parameters = findNamedChild( parametersNode, <span 
class="jxr_string">"parameter"</span> );
+<a class="jxr_linenumber" name="L243" href="#L243">243</a>                 
append( sb, <span class="jxr_string">"Available parameters:"</span>, 1 );
+<a class="jxr_linenumber" name="L244" href="#L244">244</a>                 
append( sb, <span class="jxr_string">""</span>, 0 );
+<a class="jxr_linenumber" name="L245" href="#L245">245</a> 
+<a class="jxr_linenumber" name="L246" href="#L246">246</a>                 
<strong class="jxr_keyword">for</strong> ( Node parameter : parameters )
+<a class="jxr_linenumber" name="L247" href="#L247">247</a>                 {
+<a class="jxr_linenumber" name="L248" href="#L248">248</a>                     
writeParameter( sb, parameter, configurationElement );
+<a class="jxr_linenumber" name="L249" href="#L249">249</a>                 }
+<a class="jxr_linenumber" name="L250" href="#L250">250</a>             }
+<a class="jxr_linenumber" name="L251" href="#L251">251</a>         }
+<a class="jxr_linenumber" name="L252" href="#L252">252</a>     }
+<a class="jxr_linenumber" name="L253" href="#L253">253</a> 
+<a class="jxr_linenumber" name="L254" href="#L254">254</a>     <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> 
writeParameter( StringBuilder sb, Node parameter, Node configurationElement )
+<a class="jxr_linenumber" name="L255" href="#L255">255</a>         <strong 
class="jxr_keyword">throws</strong> MojoExecutionException
+<a class="jxr_linenumber" name="L256" href="#L256">256</a>     {
+<a class="jxr_linenumber" name="L257" href="#L257">257</a>         String 
parameterName = getValue( parameter, <span class="jxr_string">"name"</span> );
+<a class="jxr_linenumber" name="L258" href="#L258">258</a>         String 
parameterDescription = getValue( parameter, <span 
class="jxr_string">"description"</span> );
+<a class="jxr_linenumber" name="L259" href="#L259">259</a> 
+<a class="jxr_linenumber" name="L260" href="#L260">260</a>         Node 
fieldConfigurationElement = findSingleChild( configurationElement, 
parameterName );
+<a class="jxr_linenumber" name="L261" href="#L261">261</a> 
+<a class="jxr_linenumber" name="L262" href="#L262">262</a>         String 
parameterDefaultValue = <span class="jxr_string">""</span>;
+<a class="jxr_linenumber" name="L263" href="#L263">263</a>         <strong 
class="jxr_keyword">if</strong> ( fieldConfigurationElement != <strong 
class="jxr_keyword">null</strong> &amp;&amp; 
fieldConfigurationElement.getNodeValue() != <strong 
class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L264" href="#L264">264</a>         {
+<a class="jxr_linenumber" name="L265" href="#L265">265</a>             
parameterDefaultValue = <span class="jxr_string">" (Default: "</span> + 
((Element)fieldConfigurationElement).getAttribute( <span 
class="jxr_string">"default-value"</span> ) + <span 
class="jxr_string">")"</span>;
+<a class="jxr_linenumber" name="L266" href="#L266">266</a>         }
+<a class="jxr_linenumber" name="L267" href="#L267">267</a>         append( sb, 
parameterName + parameterDefaultValue, 2 );
+<a class="jxr_linenumber" name="L268" href="#L268">268</a>         Node 
deprecated = findSingleChild( parameter, <span 
class="jxr_string">"deprecated"</span> );
+<a class="jxr_linenumber" name="L269" href="#L269">269</a>         <strong 
class="jxr_keyword">if</strong> ( ( deprecated != <strong 
class="jxr_keyword">null</strong> ) &amp;&amp; isNotEmpty( 
deprecated.getNodeValue() ) )
+<a class="jxr_linenumber" name="L270" href="#L270">270</a>         {
+<a class="jxr_linenumber" name="L271" href="#L271">271</a>             append( 
sb, <span class="jxr_string">"Deprecated. "</span> + deprecated.getNodeValue(), 
3 );
+<a class="jxr_linenumber" name="L272" href="#L272">272</a>             append( 
sb, <span class="jxr_string">""</span>, 0 );
+<a class="jxr_linenumber" name="L273" href="#L273">273</a>         }
+<a class="jxr_linenumber" name="L274" href="#L274">274</a>         append( sb, 
parameterDescription, 3 );
+<a class="jxr_linenumber" name="L275" href="#L275">275</a>         <strong 
class="jxr_keyword">if</strong> ( <span 
class="jxr_string">"true"</span>.equals( getValue( parameter, <span 
class="jxr_string">"required"</span> ) ) )
+<a class="jxr_linenumber" name="L276" href="#L276">276</a>         {
+<a class="jxr_linenumber" name="L277" href="#L277">277</a>             append( 
sb, <span class="jxr_string">"Required: Yes"</span>, 3 );
+<a class="jxr_linenumber" name="L278" href="#L278">278</a>         }
+<a class="jxr_linenumber" name="L279" href="#L279">279</a>         Node 
expression = findSingleChild( parameter, <span 
class="jxr_string">"expression"</span> );
+<a class="jxr_linenumber" name="L280" href="#L280">280</a>         <strong 
class="jxr_keyword">if</strong> ( ( expression != <strong 
class="jxr_keyword">null</strong> ) &amp;&amp; isNotEmpty( 
expression.getNodeValue() ) )
+<a class="jxr_linenumber" name="L281" href="#L281">281</a>         {
+<a class="jxr_linenumber" name="L282" href="#L282">282</a>             String 
property = getPropertyFromExpression( expression.getNodeValue() );
+<a class="jxr_linenumber" name="L283" href="#L283">283</a>             append( 
sb, <span class="jxr_string">"User property: "</span> + property, 3 );
+<a class="jxr_linenumber" name="L284" href="#L284">284</a>         }
+<a class="jxr_linenumber" name="L285" href="#L285">285</a> 
+<a class="jxr_linenumber" name="L286" href="#L286">286</a>         append( sb, 
<span class="jxr_string">""</span>, 0 );
+<a class="jxr_linenumber" name="L287" href="#L287">287</a>     }
+<a class="jxr_linenumber" name="L288" href="#L288">288</a> 
+<a class="jxr_linenumber" name="L289" href="#L289">289</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L290" href="#L290">290</a> <em 
class="jxr_javadoccomment">     * &lt;p&gt;Repeat a String 
&lt;code&gt;n&lt;/code&gt; times to form a new string.&lt;/p&gt;</em>
+<a class="jxr_linenumber" name="L291" href="#L291">291</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L292" href="#L292">292</a> <em 
class="jxr_javadoccomment">     * @param str    String to repeat</em>
+<a class="jxr_linenumber" name="L293" href="#L293">293</a> <em 
class="jxr_javadoccomment">     * @param repeat number of times to repeat 
str</em>
+<a class="jxr_linenumber" name="L294" href="#L294">294</a> <em 
class="jxr_javadoccomment">     * @return String with repeated String</em>
+<a class="jxr_linenumber" name="L295" href="#L295">295</a> <em 
class="jxr_javadoccomment">     * @throws NegativeArraySizeException if 
&lt;code&gt;repeat &lt; 0&lt;/code&gt;</em>
+<a class="jxr_linenumber" name="L296" href="#L296">296</a> <em 
class="jxr_javadoccomment">     * @throws NullPointerException       if str is 
&lt;code&gt;null&lt;/code&gt;</em>
+<a class="jxr_linenumber" name="L297" href="#L297">297</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L298" href="#L298">298</a>     <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> String repeat( String str, <strong 
class="jxr_keyword">int</strong> repeat )
+<a class="jxr_linenumber" name="L299" href="#L299">299</a>     {
+<a class="jxr_linenumber" name="L300" href="#L300">300</a>         
StringBuilder buffer = <strong class="jxr_keyword">new</strong> StringBuilder( 
repeat * str.length() );
+<a class="jxr_linenumber" name="L301" href="#L301">301</a> 
+<a class="jxr_linenumber" name="L302" href="#L302">302</a>         <strong 
class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 
0; i &lt; repeat; i++ )
+<a class="jxr_linenumber" name="L303" href="#L303">303</a>         {
+<a class="jxr_linenumber" name="L304" href="#L304">304</a>             
buffer.append( str );
+<a class="jxr_linenumber" name="L305" href="#L305">305</a>         }
+<a class="jxr_linenumber" name="L306" href="#L306">306</a> 
+<a class="jxr_linenumber" name="L307" href="#L307">307</a>         <strong 
class="jxr_keyword">return</strong> buffer.toString();
+<a class="jxr_linenumber" name="L308" href="#L308">308</a>     }
+<a class="jxr_linenumber" name="L309" href="#L309">309</a> 
+<a class="jxr_linenumber" name="L310" href="#L310">310</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L311" href="#L311">311</a> <em 
class="jxr_javadoccomment">     * Append a description to the buffer by 
respecting the indentSize and lineLength parameters.</em>
+<a class="jxr_linenumber" name="L312" href="#L312">312</a> <em 
class="jxr_javadoccomment">     * &lt;b&gt;Note&lt;/b&gt;: The last character 
is always a new line.</em>
+<a class="jxr_linenumber" name="L313" href="#L313">313</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L314" href="#L314">314</a> <em 
class="jxr_javadoccomment">     * @param sb          The buffer to append the 
description, not &lt;code&gt;null&lt;/code&gt;.</em>
+<a class="jxr_linenumber" name="L315" href="#L315">315</a> <em 
class="jxr_javadoccomment">     * @param description The description, not 
&lt;code&gt;null&lt;/code&gt;.</em>
+<a class="jxr_linenumber" name="L316" href="#L316">316</a> <em 
class="jxr_javadoccomment">     * @param indent      The base indentation level 
of each line, must not be negative.</em>
+<a class="jxr_linenumber" name="L317" href="#L317">317</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L318" href="#L318">318</a>     <strong 
class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> 
append( StringBuilder sb, String description, <strong 
class="jxr_keyword">int</strong> indent )
+<a class="jxr_linenumber" name="L319" href="#L319">319</a>     {
+<a class="jxr_linenumber" name="L320" href="#L320">320</a>         <strong 
class="jxr_keyword">for</strong> ( String line : toLines( description, indent, 
indentSize, lineLength ) )
+<a class="jxr_linenumber" name="L321" href="#L321">321</a>         {
+<a class="jxr_linenumber" name="L322" href="#L322">322</a>             
sb.append( line ).append( '\n' );
+<a class="jxr_linenumber" name="L323" href="#L323">323</a>         }
+<a class="jxr_linenumber" name="L324" href="#L324">324</a>     }
+<a class="jxr_linenumber" name="L325" href="#L325">325</a> 
+<a class="jxr_linenumber" name="L326" href="#L326">326</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L327" href="#L327">327</a> <em 
class="jxr_javadoccomment">     * Splits the specified text into lines of 
convenient display length.</em>
+<a class="jxr_linenumber" name="L328" href="#L328">328</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L329" href="#L329">329</a> <em 
class="jxr_javadoccomment">     * @param text       The text to split into 
lines, must not be &lt;code&gt;null&lt;/code&gt;.</em>
+<a class="jxr_linenumber" name="L330" href="#L330">330</a> <em 
class="jxr_javadoccomment">     * @param indent     The base indentation level 
of each line, must not be negative.</em>
+<a class="jxr_linenumber" name="L331" href="#L331">331</a> <em 
class="jxr_javadoccomment">     * @param indentSize The size of each 
indentation, must not be negative.</em>
+<a class="jxr_linenumber" name="L332" href="#L332">332</a> <em 
class="jxr_javadoccomment">     * @param lineLength The length of the line, 
must not be negative.</em>
+<a class="jxr_linenumber" name="L333" href="#L333">333</a> <em 
class="jxr_javadoccomment">     * @return The sequence of display lines, never 
&lt;code&gt;null&lt;/code&gt;.</em>
+<a class="jxr_linenumber" name="L334" href="#L334">334</a> <em 
class="jxr_javadoccomment">     * @throws NegativeArraySizeException if 
&lt;code&gt;indent &lt; 0&lt;/code&gt;</em>
+<a class="jxr_linenumber" name="L335" href="#L335">335</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L336" href="#L336">336</a>     <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> List&lt;String&gt; toLines( String text, 
<strong class="jxr_keyword">int</strong> indent, <strong 
class="jxr_keyword">int</strong> indentSize, <strong 
class="jxr_keyword">int</strong> lineLength )
+<a class="jxr_linenumber" name="L337" href="#L337">337</a>     {
+<a class="jxr_linenumber" name="L338" href="#L338">338</a>         
List&lt;String&gt; lines = <strong class="jxr_keyword">new</strong> 
ArrayList&lt;String&gt;();
+<a class="jxr_linenumber" name="L339" href="#L339">339</a> 
+<a class="jxr_linenumber" name="L340" href="#L340">340</a>         String ind 
= repeat( <span class="jxr_string">"\t"</span>, indent );
+<a class="jxr_linenumber" name="L341" href="#L341">341</a> 
+<a class="jxr_linenumber" name="L342" href="#L342">342</a>         String[] 
plainLines = text.split( <span class="jxr_string">"(\r\n)|(\r)|(\n)"</span> );
+<a class="jxr_linenumber" name="L343" href="#L343">343</a> 
+<a class="jxr_linenumber" name="L344" href="#L344">344</a>         <strong 
class="jxr_keyword">for</strong> ( String plainLine : plainLines )
+<a class="jxr_linenumber" name="L345" href="#L345">345</a>         {
+<a class="jxr_linenumber" name="L346" href="#L346">346</a>             
toLines( lines, ind + plainLine, indentSize, lineLength );
+<a class="jxr_linenumber" name="L347" href="#L347">347</a>         }
+<a class="jxr_linenumber" name="L348" href="#L348">348</a> 
+<a class="jxr_linenumber" name="L349" href="#L349">349</a>         <strong 
class="jxr_keyword">return</strong> lines;
+<a class="jxr_linenumber" name="L350" href="#L350">350</a>     }
+<a class="jxr_linenumber" name="L351" href="#L351">351</a> 
+<a class="jxr_linenumber" name="L352" href="#L352">352</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L353" href="#L353">353</a> <em 
class="jxr_javadoccomment">     * Adds the specified line to the output 
sequence, performing line wrapping if necessary.</em>
+<a class="jxr_linenumber" name="L354" href="#L354">354</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L355" href="#L355">355</a> <em 
class="jxr_javadoccomment">     * @param lines      The sequence of display 
lines, must not be &lt;code&gt;null&lt;/code&gt;.</em>
+<a class="jxr_linenumber" name="L356" href="#L356">356</a> <em 
class="jxr_javadoccomment">     * @param line       The line to add, must not 
be &lt;code&gt;null&lt;/code&gt;.</em>
+<a class="jxr_linenumber" name="L357" href="#L357">357</a> <em 
class="jxr_javadoccomment">     * @param indentSize The size of each 
indentation, must not be negative.</em>
+<a class="jxr_linenumber" name="L358" href="#L358">358</a> <em 
class="jxr_javadoccomment">     * @param lineLength The length of the line, 
must not be negative.</em>
+<a class="jxr_linenumber" name="L359" href="#L359">359</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L360" href="#L360">360</a>     <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> 
toLines( List&lt;String&gt; lines, String line, <strong 
class="jxr_keyword">int</strong> indentSize, <strong 
class="jxr_keyword">int</strong> lineLength )
+<a class="jxr_linenumber" name="L361" href="#L361">361</a>     {
+<a class="jxr_linenumber" name="L362" href="#L362">362</a>         <strong 
class="jxr_keyword">int</strong> lineIndent = getIndentLevel( line );
+<a class="jxr_linenumber" name="L363" href="#L363">363</a>         
StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder( 256 
);
+<a class="jxr_linenumber" name="L364" href="#L364">364</a> 
+<a class="jxr_linenumber" name="L365" href="#L365">365</a>         String[] 
tokens = line.split( <span class="jxr_string">" +"</span> );
+<a class="jxr_linenumber" name="L366" href="#L366">366</a> 
+<a class="jxr_linenumber" name="L367" href="#L367">367</a>         <strong 
class="jxr_keyword">for</strong> ( String token : tokens )
+<a class="jxr_linenumber" name="L368" href="#L368">368</a>         {
+<a class="jxr_linenumber" name="L369" href="#L369">369</a>             <strong 
class="jxr_keyword">if</strong> ( buf.length() &gt; 0 )
+<a class="jxr_linenumber" name="L370" href="#L370">370</a>             {
+<a class="jxr_linenumber" name="L371" href="#L371">371</a>                 
<strong class="jxr_keyword">if</strong> ( buf.length() + token.length() &gt;= 
lineLength )
+<a class="jxr_linenumber" name="L372" href="#L372">372</a>                 {
+<a class="jxr_linenumber" name="L373" href="#L373">373</a>                     
lines.add( buf.toString() );
+<a class="jxr_linenumber" name="L374" href="#L374">374</a>                     
buf.setLength( 0 );
+<a class="jxr_linenumber" name="L375" href="#L375">375</a>                     
buf.append( repeat( <span class="jxr_string">" "</span>, lineIndent * 
indentSize ) );
+<a class="jxr_linenumber" name="L376" href="#L376">376</a>                 }
+<a class="jxr_linenumber" name="L377" href="#L377">377</a>                 
<strong class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L378" href="#L378">378</a>                 {
+<a class="jxr_linenumber" name="L379" href="#L379">379</a>                     
buf.append( ' ' );
+<a class="jxr_linenumber" name="L380" href="#L380">380</a>                 }
+<a class="jxr_linenumber" name="L381" href="#L381">381</a>             }
+<a class="jxr_linenumber" name="L382" href="#L382">382</a> 
+<a class="jxr_linenumber" name="L383" href="#L383">383</a>             <strong 
class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> j = 
0; j &lt; token.length(); j++ )
+<a class="jxr_linenumber" name="L384" href="#L384">384</a>             {
+<a class="jxr_linenumber" name="L385" href="#L385">385</a>                 
<strong class="jxr_keyword">char</strong> c = token.charAt( j );
+<a class="jxr_linenumber" name="L386" href="#L386">386</a>                 
<strong class="jxr_keyword">if</strong> ( c == '\t' )
+<a class="jxr_linenumber" name="L387" href="#L387">387</a>                 {
+<a class="jxr_linenumber" name="L388" href="#L388">388</a>                     
buf.append( repeat( <span class="jxr_string">" "</span>, indentSize - 
buf.length() % indentSize ) );
+<a class="jxr_linenumber" name="L389" href="#L389">389</a>                 }
+<a class="jxr_linenumber" name="L390" href="#L390">390</a>                 
<strong class="jxr_keyword">else</strong> <strong 
class="jxr_keyword">if</strong> ( c == '\u00A0' )
+<a class="jxr_linenumber" name="L391" href="#L391">391</a>                 {
+<a class="jxr_linenumber" name="L392" href="#L392">392</a>                     
buf.append( ' ' );
+<a class="jxr_linenumber" name="L393" href="#L393">393</a>                 }
+<a class="jxr_linenumber" name="L394" href="#L394">394</a>                 
<strong class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L395" href="#L395">395</a>                 {
+<a class="jxr_linenumber" name="L396" href="#L396">396</a>                     
buf.append( c );
+<a class="jxr_linenumber" name="L397" href="#L397">397</a>                 }
+<a class="jxr_linenumber" name="L398" href="#L398">398</a>             }
+<a class="jxr_linenumber" name="L399" href="#L399">399</a>         }
+<a class="jxr_linenumber" name="L400" href="#L400">400</a>         lines.add( 
buf.toString() );
+<a class="jxr_linenumber" name="L401" href="#L401">401</a>     }
+<a class="jxr_linenumber" name="L402" href="#L402">402</a> 
+<a class="jxr_linenumber" name="L403" href="#L403">403</a>     <em 
class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L404" href="#L404">404</a> <em 
class="jxr_javadoccomment">     * Gets the indentation level of the specified 
line.</em>
+<a class="jxr_linenumber" name="L405" href="#L405">405</a> <em 
class="jxr_javadoccomment">     *</em>
+<a class="jxr_linenumber" name="L406" href="#L406">406</a> <em 
class="jxr_javadoccomment">     * @param line The line whose indentation level 
should be retrieved, must not be &lt;code&gt;null&lt;/code&gt;.</em>
+<a class="jxr_linenumber" name="L407" href="#L407">407</a> <em 
class="jxr_javadoccomment">     * @return The indentation level of the 
line.</em>
+<a class="jxr_linenumber" name="L408" href="#L408">408</a> <em 
class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L409" href="#L409">409</a>     <strong 
class="jxr_keyword">private</strong> <strong 
class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> 
getIndentLevel( String line )
+<a class="jxr_linenumber" name="L410" href="#L410">410</a>     {
+<a class="jxr_linenumber" name="L411" href="#L411">411</a>         <strong 
class="jxr_keyword">int</strong> level = 0;
+<a class="jxr_linenumber" name="L412" href="#L412">412</a>         <strong 
class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> i = 
0; i &lt; line.length() &amp;&amp; line.charAt( i ) == '\t'; i++ )
+<a class="jxr_linenumber" name="L413" href="#L413">413</a>         {
+<a class="jxr_linenumber" name="L414" href="#L414">414</a>             level++;
+<a class="jxr_linenumber" name="L415" href="#L415">415</a>         }

[... 30 lines stripped ...]

Reply via email to