You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2014/04/27 17:36:07 UTC

svn commit: r907055 [8/9] - in /websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST: ./ apidocs/ apidocs/org/apache/maven/plugins/annotations/ apidocs/org/apache/maven/tools/plugin/annotations/ apidocs/org/apache/maven/tools/plu...

Modified: websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/xref/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.html
==============================================================================
--- websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/xref/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.html (original)
+++ websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/xref/org/apache/maven/tools/plugin/annotations/JavaAnnotationsMojoDescriptorExtractor.html Sun Apr 27 15:36:06 2014
@@ -596,147 +596,150 @@
 <a class="jxr_linenumber" name="L588" href="#L588">588</a>                 }
 <a class="jxr_linenumber" name="L589" href="#L589">589</a>                 <strong class="jxr_keyword">else</strong>
 <a class="jxr_linenumber" name="L590" href="#L590">590</a>                 {
-<a class="jxr_linenumber" name="L591" href="#L591">591</a>                     <em class="jxr_comment">// not a component but a Maven object to be transformed into an expression/property</em>
-<a class="jxr_linenumber" name="L592" href="#L592">592</a>                     parameter.setDefaultValue( expression );
-<a class="jxr_linenumber" name="L593" href="#L593">593</a>                     parameter.setType( componentAnnotationContent.getRoleClassName() );
-<a class="jxr_linenumber" name="L594" href="#L594">594</a>                     parameter.setRequired( <strong class="jxr_keyword">true</strong> );
-<a class="jxr_linenumber" name="L595" href="#L595">595</a>                 }
-<a class="jxr_linenumber" name="L596" href="#L596">596</a>                 parameter.setDeprecated( componentAnnotationContent.getDeprecated() );
-<a class="jxr_linenumber" name="L597" href="#L597">597</a>                 parameter.setSince( componentAnnotationContent.getSince() );
-<a class="jxr_linenumber" name="L598" href="#L598">598</a> 
-<a class="jxr_linenumber" name="L599" href="#L599">599</a>                 <em class="jxr_comment">// same behaviour as JavaMojoDescriptorExtractor</em>
-<a class="jxr_linenumber" name="L600" href="#L600">600</a>                 <em class="jxr_comment">//parameter.setRequired( ... );</em>
-<a class="jxr_linenumber" name="L601" href="#L601">601</a>                 parameter.setEditable( false );
-<a class="jxr_linenumber" name="L602" href="#L602">602</a> 
-<a class="jxr_linenumber" name="L603" href="#L603">603</a>                 mojoDescriptor.addParameter( parameter );
-<a class="jxr_linenumber" name="L604" href="#L604">604</a>             }
+<a class="jxr_linenumber" name="L591" href="#L591">591</a>                     <em class="jxr_comment">// not a component but a Maven object to be transformed into an expression/property: deprecated</em>
+<a class="jxr_linenumber" name="L592" href="#L592">592</a>                     getLogger().warn( <span class="jxr_string">"Deprecated @component for "</span> + parameter.getName() + <span class="jxr_string">" field in "</span>
+<a class="jxr_linenumber" name="L593" href="#L593">593</a>                                           + mojoAnnotatedClass.getClassName() + <span class="jxr_string">"."</span>
+<a class="jxr_linenumber" name="L594" href="#L594">594</a>                                           + <span class="jxr_string">": replace with @parameter name=\&quot;"</span> + expression + <span class="jxr_string">"\&quot; @readonly"</span> );
+<a class="jxr_linenumber" name="L595" href="#L595">595</a>                     parameter.setDefaultValue( expression );
+<a class="jxr_linenumber" name="L596" href="#L596">596</a>                     parameter.setType( componentAnnotationContent.getRoleClassName() );
+<a class="jxr_linenumber" name="L597" href="#L597">597</a>                     parameter.setRequired( <strong class="jxr_keyword">true</strong> );
+<a class="jxr_linenumber" name="L598" href="#L598">598</a>                 }
+<a class="jxr_linenumber" name="L599" href="#L599">599</a>                 parameter.setDeprecated( componentAnnotationContent.getDeprecated() );
+<a class="jxr_linenumber" name="L600" href="#L600">600</a>                 parameter.setSince( componentAnnotationContent.getSince() );
+<a class="jxr_linenumber" name="L601" href="#L601">601</a> 
+<a class="jxr_linenumber" name="L602" href="#L602">602</a>                 <em class="jxr_comment">// same behaviour as JavaMojoDescriptorExtractor</em>
+<a class="jxr_linenumber" name="L603" href="#L603">603</a>                 <em class="jxr_comment">//parameter.setRequired( ... );</em>
+<a class="jxr_linenumber" name="L604" href="#L604">604</a>                 parameter.setEditable( false );
 <a class="jxr_linenumber" name="L605" href="#L605">605</a> 
-<a class="jxr_linenumber" name="L606" href="#L606">606</a>             mojoDescriptor.setPluginDescriptor( pluginDescriptor );
-<a class="jxr_linenumber" name="L607" href="#L607">607</a> 
-<a class="jxr_linenumber" name="L608" href="#L608">608</a>             mojoDescriptors.add( mojoDescriptor );
-<a class="jxr_linenumber" name="L609" href="#L609">609</a>         }
-<a class="jxr_linenumber" name="L610" href="#L610">610</a>         <strong class="jxr_keyword">return</strong> mojoDescriptors;
-<a class="jxr_linenumber" name="L611" href="#L611">611</a>     }
-<a class="jxr_linenumber" name="L612" href="#L612">612</a> 
-<a class="jxr_linenumber" name="L613" href="#L613">613</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/maven/tools/plugin/annotations/datamodel/ExecuteAnnotationContent.html">ExecuteAnnotationContent</a> findExecuteInParentHierarchy( MojoAnnotatedClass mojoAnnotatedClass,
-<a class="jxr_linenumber" name="L614" href="#L614">614</a>                                                                      Map&lt;String, MojoAnnotatedClass&gt; mojoAnnotatedClasses )
-<a class="jxr_linenumber" name="L615" href="#L615">615</a>     {
-<a class="jxr_linenumber" name="L616" href="#L616">616</a> 
-<a class="jxr_linenumber" name="L617" href="#L617">617</a>         <strong class="jxr_keyword">if</strong> ( mojoAnnotatedClass.getExecute() != <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L618" href="#L618">618</a>         {
-<a class="jxr_linenumber" name="L619" href="#L619">619</a>             <strong class="jxr_keyword">return</strong> mojoAnnotatedClass.getExecute();
-<a class="jxr_linenumber" name="L620" href="#L620">620</a>         }
-<a class="jxr_linenumber" name="L621" href="#L621">621</a>         String parentClassName = mojoAnnotatedClass.getParentClassName();
-<a class="jxr_linenumber" name="L622" href="#L622">622</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isEmpty( parentClassName ) )
-<a class="jxr_linenumber" name="L623" href="#L623">623</a>         {
-<a class="jxr_linenumber" name="L624" href="#L624">624</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L625" href="#L625">625</a>         }
-<a class="jxr_linenumber" name="L626" href="#L626">626</a>         <a href="../../../../../../org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.html">MojoAnnotatedClass</a> parent = mojoAnnotatedClasses.get( parentClassName );
-<a class="jxr_linenumber" name="L627" href="#L627">627</a>         <strong class="jxr_keyword">if</strong> ( parent == <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L628" href="#L628">628</a>         {
-<a class="jxr_linenumber" name="L629" href="#L629">629</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L630" href="#L630">630</a>         }
-<a class="jxr_linenumber" name="L631" href="#L631">631</a>         <strong class="jxr_keyword">return</strong> findExecuteInParentHierarchy( parent, mojoAnnotatedClasses );
-<a class="jxr_linenumber" name="L632" href="#L632">632</a>     }
-<a class="jxr_linenumber" name="L633" href="#L633">633</a> 
-<a class="jxr_linenumber" name="L634" href="#L634">634</a> 
-<a class="jxr_linenumber" name="L635" href="#L635">635</a>     <strong class="jxr_keyword">protected</strong> Map&lt;String, ParameterAnnotationContent&gt; getParametersParentHierarchy(
-<a class="jxr_linenumber" name="L636" href="#L636">636</a>         <a href="../../../../../../org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.html">MojoAnnotatedClass</a> mojoAnnotatedClass, Map&lt;String, ParameterAnnotationContent&gt; parameters,
-<a class="jxr_linenumber" name="L637" href="#L637">637</a>         Map&lt;String, MojoAnnotatedClass&gt; mojoAnnotatedClasses )
-<a class="jxr_linenumber" name="L638" href="#L638">638</a>     {
-<a class="jxr_linenumber" name="L639" href="#L639">639</a>         List&lt;ParameterAnnotationContent&gt; parameterAnnotationContents = <strong class="jxr_keyword">new</strong> ArrayList&lt;ParameterAnnotationContent&gt;();
-<a class="jxr_linenumber" name="L640" href="#L640">640</a> 
-<a class="jxr_linenumber" name="L641" href="#L641">641</a>         parameterAnnotationContents =
-<a class="jxr_linenumber" name="L642" href="#L642">642</a>             getParametersParent( mojoAnnotatedClass, parameterAnnotationContents, mojoAnnotatedClasses );
+<a class="jxr_linenumber" name="L606" href="#L606">606</a>                 mojoDescriptor.addParameter( parameter );
+<a class="jxr_linenumber" name="L607" href="#L607">607</a>             }
+<a class="jxr_linenumber" name="L608" href="#L608">608</a> 
+<a class="jxr_linenumber" name="L609" href="#L609">609</a>             mojoDescriptor.setPluginDescriptor( pluginDescriptor );
+<a class="jxr_linenumber" name="L610" href="#L610">610</a> 
+<a class="jxr_linenumber" name="L611" href="#L611">611</a>             mojoDescriptors.add( mojoDescriptor );
+<a class="jxr_linenumber" name="L612" href="#L612">612</a>         }
+<a class="jxr_linenumber" name="L613" href="#L613">613</a>         <strong class="jxr_keyword">return</strong> mojoDescriptors;
+<a class="jxr_linenumber" name="L614" href="#L614">614</a>     }
+<a class="jxr_linenumber" name="L615" href="#L615">615</a> 
+<a class="jxr_linenumber" name="L616" href="#L616">616</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/maven/tools/plugin/annotations/datamodel/ExecuteAnnotationContent.html">ExecuteAnnotationContent</a> findExecuteInParentHierarchy( MojoAnnotatedClass mojoAnnotatedClass,
+<a class="jxr_linenumber" name="L617" href="#L617">617</a>                                                                      Map&lt;String, MojoAnnotatedClass&gt; mojoAnnotatedClasses )
+<a class="jxr_linenumber" name="L618" href="#L618">618</a>     {
+<a class="jxr_linenumber" name="L619" href="#L619">619</a> 
+<a class="jxr_linenumber" name="L620" href="#L620">620</a>         <strong class="jxr_keyword">if</strong> ( mojoAnnotatedClass.getExecute() != <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L621" href="#L621">621</a>         {
+<a class="jxr_linenumber" name="L622" href="#L622">622</a>             <strong class="jxr_keyword">return</strong> mojoAnnotatedClass.getExecute();
+<a class="jxr_linenumber" name="L623" href="#L623">623</a>         }
+<a class="jxr_linenumber" name="L624" href="#L624">624</a>         String parentClassName = mojoAnnotatedClass.getParentClassName();
+<a class="jxr_linenumber" name="L625" href="#L625">625</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isEmpty( parentClassName ) )
+<a class="jxr_linenumber" name="L626" href="#L626">626</a>         {
+<a class="jxr_linenumber" name="L627" href="#L627">627</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L628" href="#L628">628</a>         }
+<a class="jxr_linenumber" name="L629" href="#L629">629</a>         <a href="../../../../../../org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.html">MojoAnnotatedClass</a> parent = mojoAnnotatedClasses.get( parentClassName );
+<a class="jxr_linenumber" name="L630" href="#L630">630</a>         <strong class="jxr_keyword">if</strong> ( parent == <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L631" href="#L631">631</a>         {
+<a class="jxr_linenumber" name="L632" href="#L632">632</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L633" href="#L633">633</a>         }
+<a class="jxr_linenumber" name="L634" href="#L634">634</a>         <strong class="jxr_keyword">return</strong> findExecuteInParentHierarchy( parent, mojoAnnotatedClasses );
+<a class="jxr_linenumber" name="L635" href="#L635">635</a>     }
+<a class="jxr_linenumber" name="L636" href="#L636">636</a> 
+<a class="jxr_linenumber" name="L637" href="#L637">637</a> 
+<a class="jxr_linenumber" name="L638" href="#L638">638</a>     <strong class="jxr_keyword">protected</strong> Map&lt;String, ParameterAnnotationContent&gt; getParametersParentHierarchy(
+<a class="jxr_linenumber" name="L639" href="#L639">639</a>         <a href="../../../../../../org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.html">MojoAnnotatedClass</a> mojoAnnotatedClass, Map&lt;String, ParameterAnnotationContent&gt; parameters,
+<a class="jxr_linenumber" name="L640" href="#L640">640</a>         Map&lt;String, MojoAnnotatedClass&gt; mojoAnnotatedClasses )
+<a class="jxr_linenumber" name="L641" href="#L641">641</a>     {
+<a class="jxr_linenumber" name="L642" href="#L642">642</a>         List&lt;ParameterAnnotationContent&gt; parameterAnnotationContents = <strong class="jxr_keyword">new</strong> ArrayList&lt;ParameterAnnotationContent&gt;();
 <a class="jxr_linenumber" name="L643" href="#L643">643</a> 
-<a class="jxr_linenumber" name="L644" href="#L644">644</a>         <em class="jxr_comment">// move to parent first to build the Map</em>
-<a class="jxr_linenumber" name="L645" href="#L645">645</a>         Collections.reverse( parameterAnnotationContents );
+<a class="jxr_linenumber" name="L644" href="#L644">644</a>         parameterAnnotationContents =
+<a class="jxr_linenumber" name="L645" href="#L645">645</a>             getParametersParent( mojoAnnotatedClass, parameterAnnotationContents, mojoAnnotatedClasses );
 <a class="jxr_linenumber" name="L646" href="#L646">646</a> 
-<a class="jxr_linenumber" name="L647" href="#L647">647</a>         Map&lt;String, ParameterAnnotationContent&gt; map =
-<a class="jxr_linenumber" name="L648" href="#L648">648</a>             <strong class="jxr_keyword">new</strong> HashMap&lt;String, ParameterAnnotationContent&gt;( parameterAnnotationContents.size() );
+<a class="jxr_linenumber" name="L647" href="#L647">647</a>         <em class="jxr_comment">// move to parent first to build the Map</em>
+<a class="jxr_linenumber" name="L648" href="#L648">648</a>         Collections.reverse( parameterAnnotationContents );
 <a class="jxr_linenumber" name="L649" href="#L649">649</a> 
-<a class="jxr_linenumber" name="L650" href="#L650">650</a>         <strong class="jxr_keyword">for</strong> ( ParameterAnnotationContent parameterAnnotationContent : parameterAnnotationContents )
-<a class="jxr_linenumber" name="L651" href="#L651">651</a>         {
-<a class="jxr_linenumber" name="L652" href="#L652">652</a>             map.put( parameterAnnotationContent.getFieldName(), parameterAnnotationContent );
-<a class="jxr_linenumber" name="L653" href="#L653">653</a>         }
-<a class="jxr_linenumber" name="L654" href="#L654">654</a>         <strong class="jxr_keyword">return</strong> map;
-<a class="jxr_linenumber" name="L655" href="#L655">655</a>     }
-<a class="jxr_linenumber" name="L656" href="#L656">656</a> 
-<a class="jxr_linenumber" name="L657" href="#L657">657</a>     <strong class="jxr_keyword">protected</strong> List&lt;ParameterAnnotationContent&gt; getParametersParent( MojoAnnotatedClass mojoAnnotatedClass,
-<a class="jxr_linenumber" name="L658" href="#L658">658</a>                                                                     List&lt;ParameterAnnotationContent&gt; parameterAnnotationContents,
-<a class="jxr_linenumber" name="L659" href="#L659">659</a>                                                                     Map&lt;String, MojoAnnotatedClass&gt; mojoAnnotatedClasses )
-<a class="jxr_linenumber" name="L660" href="#L660">660</a>     {
-<a class="jxr_linenumber" name="L661" href="#L661">661</a>         parameterAnnotationContents.addAll( mojoAnnotatedClass.getParameters().values() );
-<a class="jxr_linenumber" name="L662" href="#L662">662</a>         String parentClassName = mojoAnnotatedClass.getParentClassName();
-<a class="jxr_linenumber" name="L663" href="#L663">663</a>         <strong class="jxr_keyword">if</strong> ( parentClassName != <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L664" href="#L664">664</a>         {
-<a class="jxr_linenumber" name="L665" href="#L665">665</a>             <a href="../../../../../../org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.html">MojoAnnotatedClass</a> parent = mojoAnnotatedClasses.get( parentClassName );
-<a class="jxr_linenumber" name="L666" href="#L666">666</a>             <strong class="jxr_keyword">if</strong> ( parent != <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L667" href="#L667">667</a>             {
-<a class="jxr_linenumber" name="L668" href="#L668">668</a>                 <strong class="jxr_keyword">return</strong> getParametersParent( parent, parameterAnnotationContents, mojoAnnotatedClasses );
-<a class="jxr_linenumber" name="L669" href="#L669">669</a>             }
-<a class="jxr_linenumber" name="L670" href="#L670">670</a>         }
-<a class="jxr_linenumber" name="L671" href="#L671">671</a>         <strong class="jxr_keyword">return</strong> parameterAnnotationContents;
-<a class="jxr_linenumber" name="L672" href="#L672">672</a>     }
-<a class="jxr_linenumber" name="L673" href="#L673">673</a> 
-<a class="jxr_linenumber" name="L674" href="#L674">674</a>     <strong class="jxr_keyword">protected</strong> Map&lt;String, ComponentAnnotationContent&gt; getComponentsParentHierarchy(
-<a class="jxr_linenumber" name="L675" href="#L675">675</a>         <a href="../../../../../../org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.html">MojoAnnotatedClass</a> mojoAnnotatedClass, Map&lt;String, ComponentAnnotationContent&gt; components,
-<a class="jxr_linenumber" name="L676" href="#L676">676</a>         Map&lt;String, MojoAnnotatedClass&gt; mojoAnnotatedClasses )
-<a class="jxr_linenumber" name="L677" href="#L677">677</a>     {
-<a class="jxr_linenumber" name="L678" href="#L678">678</a>         List&lt;ComponentAnnotationContent&gt; componentAnnotationContents = <strong class="jxr_keyword">new</strong> ArrayList&lt;ComponentAnnotationContent&gt;();
-<a class="jxr_linenumber" name="L679" href="#L679">679</a> 
-<a class="jxr_linenumber" name="L680" href="#L680">680</a>         componentAnnotationContents =
-<a class="jxr_linenumber" name="L681" href="#L681">681</a>             getComponentParent( mojoAnnotatedClass, componentAnnotationContents, mojoAnnotatedClasses );
+<a class="jxr_linenumber" name="L650" href="#L650">650</a>         Map&lt;String, ParameterAnnotationContent&gt; map =
+<a class="jxr_linenumber" name="L651" href="#L651">651</a>             <strong class="jxr_keyword">new</strong> HashMap&lt;String, ParameterAnnotationContent&gt;( parameterAnnotationContents.size() );
+<a class="jxr_linenumber" name="L652" href="#L652">652</a> 
+<a class="jxr_linenumber" name="L653" href="#L653">653</a>         <strong class="jxr_keyword">for</strong> ( ParameterAnnotationContent parameterAnnotationContent : parameterAnnotationContents )
+<a class="jxr_linenumber" name="L654" href="#L654">654</a>         {
+<a class="jxr_linenumber" name="L655" href="#L655">655</a>             map.put( parameterAnnotationContent.getFieldName(), parameterAnnotationContent );
+<a class="jxr_linenumber" name="L656" href="#L656">656</a>         }
+<a class="jxr_linenumber" name="L657" href="#L657">657</a>         <strong class="jxr_keyword">return</strong> map;
+<a class="jxr_linenumber" name="L658" href="#L658">658</a>     }
+<a class="jxr_linenumber" name="L659" href="#L659">659</a> 
+<a class="jxr_linenumber" name="L660" href="#L660">660</a>     <strong class="jxr_keyword">protected</strong> List&lt;ParameterAnnotationContent&gt; getParametersParent( MojoAnnotatedClass mojoAnnotatedClass,
+<a class="jxr_linenumber" name="L661" href="#L661">661</a>                                                                     List&lt;ParameterAnnotationContent&gt; parameterAnnotationContents,
+<a class="jxr_linenumber" name="L662" href="#L662">662</a>                                                                     Map&lt;String, MojoAnnotatedClass&gt; mojoAnnotatedClasses )
+<a class="jxr_linenumber" name="L663" href="#L663">663</a>     {
+<a class="jxr_linenumber" name="L664" href="#L664">664</a>         parameterAnnotationContents.addAll( mojoAnnotatedClass.getParameters().values() );
+<a class="jxr_linenumber" name="L665" href="#L665">665</a>         String parentClassName = mojoAnnotatedClass.getParentClassName();
+<a class="jxr_linenumber" name="L666" href="#L666">666</a>         <strong class="jxr_keyword">if</strong> ( parentClassName != <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L667" href="#L667">667</a>         {
+<a class="jxr_linenumber" name="L668" href="#L668">668</a>             <a href="../../../../../../org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.html">MojoAnnotatedClass</a> parent = mojoAnnotatedClasses.get( parentClassName );
+<a class="jxr_linenumber" name="L669" href="#L669">669</a>             <strong class="jxr_keyword">if</strong> ( parent != <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L670" href="#L670">670</a>             {
+<a class="jxr_linenumber" name="L671" href="#L671">671</a>                 <strong class="jxr_keyword">return</strong> getParametersParent( parent, parameterAnnotationContents, mojoAnnotatedClasses );
+<a class="jxr_linenumber" name="L672" href="#L672">672</a>             }
+<a class="jxr_linenumber" name="L673" href="#L673">673</a>         }
+<a class="jxr_linenumber" name="L674" href="#L674">674</a>         <strong class="jxr_keyword">return</strong> parameterAnnotationContents;
+<a class="jxr_linenumber" name="L675" href="#L675">675</a>     }
+<a class="jxr_linenumber" name="L676" href="#L676">676</a> 
+<a class="jxr_linenumber" name="L677" href="#L677">677</a>     <strong class="jxr_keyword">protected</strong> Map&lt;String, ComponentAnnotationContent&gt; getComponentsParentHierarchy(
+<a class="jxr_linenumber" name="L678" href="#L678">678</a>         <a href="../../../../../../org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.html">MojoAnnotatedClass</a> mojoAnnotatedClass, Map&lt;String, ComponentAnnotationContent&gt; components,
+<a class="jxr_linenumber" name="L679" href="#L679">679</a>         Map&lt;String, MojoAnnotatedClass&gt; mojoAnnotatedClasses )
+<a class="jxr_linenumber" name="L680" href="#L680">680</a>     {
+<a class="jxr_linenumber" name="L681" href="#L681">681</a>         List&lt;ComponentAnnotationContent&gt; componentAnnotationContents = <strong class="jxr_keyword">new</strong> ArrayList&lt;ComponentAnnotationContent&gt;();
 <a class="jxr_linenumber" name="L682" href="#L682">682</a> 
-<a class="jxr_linenumber" name="L683" href="#L683">683</a>         <em class="jxr_comment">// move to parent first to build the Map</em>
-<a class="jxr_linenumber" name="L684" href="#L684">684</a>         Collections.reverse( componentAnnotationContents );
+<a class="jxr_linenumber" name="L683" href="#L683">683</a>         componentAnnotationContents =
+<a class="jxr_linenumber" name="L684" href="#L684">684</a>             getComponentParent( mojoAnnotatedClass, componentAnnotationContents, mojoAnnotatedClasses );
 <a class="jxr_linenumber" name="L685" href="#L685">685</a> 
-<a class="jxr_linenumber" name="L686" href="#L686">686</a>         Map&lt;String, ComponentAnnotationContent&gt; map =
-<a class="jxr_linenumber" name="L687" href="#L687">687</a>             <strong class="jxr_keyword">new</strong> HashMap&lt;String, ComponentAnnotationContent&gt;( componentAnnotationContents.size() );
+<a class="jxr_linenumber" name="L686" href="#L686">686</a>         <em class="jxr_comment">// move to parent first to build the Map</em>
+<a class="jxr_linenumber" name="L687" href="#L687">687</a>         Collections.reverse( componentAnnotationContents );
 <a class="jxr_linenumber" name="L688" href="#L688">688</a> 
-<a class="jxr_linenumber" name="L689" href="#L689">689</a>         <strong class="jxr_keyword">for</strong> ( ComponentAnnotationContent componentAnnotationContent : componentAnnotationContents )
-<a class="jxr_linenumber" name="L690" href="#L690">690</a>         {
-<a class="jxr_linenumber" name="L691" href="#L691">691</a>             map.put( componentAnnotationContent.getFieldName(), componentAnnotationContent );
-<a class="jxr_linenumber" name="L692" href="#L692">692</a>         }
-<a class="jxr_linenumber" name="L693" href="#L693">693</a>         <strong class="jxr_keyword">return</strong> map;
-<a class="jxr_linenumber" name="L694" href="#L694">694</a>     }
-<a class="jxr_linenumber" name="L695" href="#L695">695</a> 
-<a class="jxr_linenumber" name="L696" href="#L696">696</a>     <strong class="jxr_keyword">protected</strong> List&lt;ComponentAnnotationContent&gt; getComponentParent( MojoAnnotatedClass mojoAnnotatedClass,
-<a class="jxr_linenumber" name="L697" href="#L697">697</a>                                                                    List&lt;ComponentAnnotationContent&gt; componentAnnotationContents,
-<a class="jxr_linenumber" name="L698" href="#L698">698</a>                                                                    Map&lt;String, MojoAnnotatedClass&gt; mojoAnnotatedClasses )
-<a class="jxr_linenumber" name="L699" href="#L699">699</a>     {
-<a class="jxr_linenumber" name="L700" href="#L700">700</a>         componentAnnotationContents.addAll( mojoAnnotatedClass.getComponents().values() );
-<a class="jxr_linenumber" name="L701" href="#L701">701</a>         String parentClassName = mojoAnnotatedClass.getParentClassName();
-<a class="jxr_linenumber" name="L702" href="#L702">702</a>         <strong class="jxr_keyword">if</strong> ( parentClassName != <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L703" href="#L703">703</a>         {
-<a class="jxr_linenumber" name="L704" href="#L704">704</a>             <a href="../../../../../../org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.html">MojoAnnotatedClass</a> parent = mojoAnnotatedClasses.get( parentClassName );
-<a class="jxr_linenumber" name="L705" href="#L705">705</a>             <strong class="jxr_keyword">if</strong> ( parent != <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L706" href="#L706">706</a>             {
-<a class="jxr_linenumber" name="L707" href="#L707">707</a>                 <strong class="jxr_keyword">return</strong> getComponentParent( parent, componentAnnotationContents, mojoAnnotatedClasses );
-<a class="jxr_linenumber" name="L708" href="#L708">708</a>             }
-<a class="jxr_linenumber" name="L709" href="#L709">709</a>         }
-<a class="jxr_linenumber" name="L710" href="#L710">710</a>         <strong class="jxr_keyword">return</strong> componentAnnotationContents;
-<a class="jxr_linenumber" name="L711" href="#L711">711</a>     }
-<a class="jxr_linenumber" name="L712" href="#L712">712</a> 
-<a class="jxr_linenumber" name="L713" href="#L713">713</a>     <strong class="jxr_keyword">protected</strong> MavenProject getFromProjectReferences( Artifact artifact, MavenProject project )
-<a class="jxr_linenumber" name="L714" href="#L714">714</a>     {
-<a class="jxr_linenumber" name="L715" href="#L715">715</a>         <strong class="jxr_keyword">if</strong> ( project.getProjectReferences() == <strong class="jxr_keyword">null</strong> || project.getProjectReferences().isEmpty() )
-<a class="jxr_linenumber" name="L716" href="#L716">716</a>         {
-<a class="jxr_linenumber" name="L717" href="#L717">717</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L718" href="#L718">718</a>         }
-<a class="jxr_linenumber" name="L719" href="#L719">719</a>         @SuppressWarnings( <span class="jxr_string">"unchecked"</span> ) Collection&lt;MavenProject&gt; mavenProjects =
-<a class="jxr_linenumber" name="L720" href="#L720">720</a>             project.getProjectReferences().values();
-<a class="jxr_linenumber" name="L721" href="#L721">721</a>         <strong class="jxr_keyword">for</strong> ( MavenProject mavenProject : mavenProjects )
-<a class="jxr_linenumber" name="L722" href="#L722">722</a>         {
-<a class="jxr_linenumber" name="L723" href="#L723">723</a>             <strong class="jxr_keyword">if</strong> ( StringUtils.equals( mavenProject.getId(), artifact.getId() ) )
-<a class="jxr_linenumber" name="L724" href="#L724">724</a>             {
-<a class="jxr_linenumber" name="L725" href="#L725">725</a>                 <strong class="jxr_keyword">return</strong> mavenProject;
-<a class="jxr_linenumber" name="L726" href="#L726">726</a>             }
-<a class="jxr_linenumber" name="L727" href="#L727">727</a>         }
-<a class="jxr_linenumber" name="L728" href="#L728">728</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L729" href="#L729">729</a>     }
-<a class="jxr_linenumber" name="L730" href="#L730">730</a> 
-<a class="jxr_linenumber" name="L731" href="#L731">731</a> }
+<a class="jxr_linenumber" name="L689" href="#L689">689</a>         Map&lt;String, ComponentAnnotationContent&gt; map =
+<a class="jxr_linenumber" name="L690" href="#L690">690</a>             <strong class="jxr_keyword">new</strong> HashMap&lt;String, ComponentAnnotationContent&gt;( componentAnnotationContents.size() );
+<a class="jxr_linenumber" name="L691" href="#L691">691</a> 
+<a class="jxr_linenumber" name="L692" href="#L692">692</a>         <strong class="jxr_keyword">for</strong> ( ComponentAnnotationContent componentAnnotationContent : componentAnnotationContents )
+<a class="jxr_linenumber" name="L693" href="#L693">693</a>         {
+<a class="jxr_linenumber" name="L694" href="#L694">694</a>             map.put( componentAnnotationContent.getFieldName(), componentAnnotationContent );
+<a class="jxr_linenumber" name="L695" href="#L695">695</a>         }
+<a class="jxr_linenumber" name="L696" href="#L696">696</a>         <strong class="jxr_keyword">return</strong> map;
+<a class="jxr_linenumber" name="L697" href="#L697">697</a>     }
+<a class="jxr_linenumber" name="L698" href="#L698">698</a> 
+<a class="jxr_linenumber" name="L699" href="#L699">699</a>     <strong class="jxr_keyword">protected</strong> List&lt;ComponentAnnotationContent&gt; getComponentParent( MojoAnnotatedClass mojoAnnotatedClass,
+<a class="jxr_linenumber" name="L700" href="#L700">700</a>                                                                    List&lt;ComponentAnnotationContent&gt; componentAnnotationContents,
+<a class="jxr_linenumber" name="L701" href="#L701">701</a>                                                                    Map&lt;String, MojoAnnotatedClass&gt; mojoAnnotatedClasses )
+<a class="jxr_linenumber" name="L702" href="#L702">702</a>     {
+<a class="jxr_linenumber" name="L703" href="#L703">703</a>         componentAnnotationContents.addAll( mojoAnnotatedClass.getComponents().values() );
+<a class="jxr_linenumber" name="L704" href="#L704">704</a>         String parentClassName = mojoAnnotatedClass.getParentClassName();
+<a class="jxr_linenumber" name="L705" href="#L705">705</a>         <strong class="jxr_keyword">if</strong> ( parentClassName != <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L706" href="#L706">706</a>         {
+<a class="jxr_linenumber" name="L707" href="#L707">707</a>             <a href="../../../../../../org/apache/maven/tools/plugin/annotations/scanner/MojoAnnotatedClass.html">MojoAnnotatedClass</a> parent = mojoAnnotatedClasses.get( parentClassName );
+<a class="jxr_linenumber" name="L708" href="#L708">708</a>             <strong class="jxr_keyword">if</strong> ( parent != <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L709" href="#L709">709</a>             {
+<a class="jxr_linenumber" name="L710" href="#L710">710</a>                 <strong class="jxr_keyword">return</strong> getComponentParent( parent, componentAnnotationContents, mojoAnnotatedClasses );
+<a class="jxr_linenumber" name="L711" href="#L711">711</a>             }
+<a class="jxr_linenumber" name="L712" href="#L712">712</a>         }
+<a class="jxr_linenumber" name="L713" href="#L713">713</a>         <strong class="jxr_keyword">return</strong> componentAnnotationContents;
+<a class="jxr_linenumber" name="L714" href="#L714">714</a>     }
+<a class="jxr_linenumber" name="L715" href="#L715">715</a> 
+<a class="jxr_linenumber" name="L716" href="#L716">716</a>     <strong class="jxr_keyword">protected</strong> MavenProject getFromProjectReferences( Artifact artifact, MavenProject project )
+<a class="jxr_linenumber" name="L717" href="#L717">717</a>     {
+<a class="jxr_linenumber" name="L718" href="#L718">718</a>         <strong class="jxr_keyword">if</strong> ( project.getProjectReferences() == <strong class="jxr_keyword">null</strong> || project.getProjectReferences().isEmpty() )
+<a class="jxr_linenumber" name="L719" href="#L719">719</a>         {
+<a class="jxr_linenumber" name="L720" href="#L720">720</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L721" href="#L721">721</a>         }
+<a class="jxr_linenumber" name="L722" href="#L722">722</a>         @SuppressWarnings( <span class="jxr_string">"unchecked"</span> ) Collection&lt;MavenProject&gt; mavenProjects =
+<a class="jxr_linenumber" name="L723" href="#L723">723</a>             project.getProjectReferences().values();
+<a class="jxr_linenumber" name="L724" href="#L724">724</a>         <strong class="jxr_keyword">for</strong> ( MavenProject mavenProject : mavenProjects )
+<a class="jxr_linenumber" name="L725" href="#L725">725</a>         {
+<a class="jxr_linenumber" name="L726" href="#L726">726</a>             <strong class="jxr_keyword">if</strong> ( StringUtils.equals( mavenProject.getId(), artifact.getId() ) )
+<a class="jxr_linenumber" name="L727" href="#L727">727</a>             {
+<a class="jxr_linenumber" name="L728" href="#L728">728</a>                 <strong class="jxr_keyword">return</strong> mavenProject;
+<a class="jxr_linenumber" name="L729" href="#L729">729</a>             }
+<a class="jxr_linenumber" name="L730" href="#L730">730</a>         }
+<a class="jxr_linenumber" name="L731" href="#L731">731</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L732" href="#L732">732</a>     }
+<a class="jxr_linenumber" name="L733" href="#L733">733</a> 
+<a class="jxr_linenumber" name="L734" href="#L734">734</a> }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2004&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>

Modified: websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/xref/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html
==============================================================================
--- websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/xref/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html (original)
+++ websites/production/maven/content/plugin-tools-archives/plugin-tools-LATEST/xref/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.html Sun Apr 27 15:36:06 2014
@@ -548,207 +548,210 @@
 <a class="jxr_linenumber" name="L540" href="#L540">540</a>                 <strong class="jxr_keyword">else</strong>
 <a class="jxr_linenumber" name="L541" href="#L541">541</a>                 {
 <a class="jxr_linenumber" name="L542" href="#L542">542</a>                     <em class="jxr_comment">// not a component but a Maven object to be transformed into an expression/property</em>
-<a class="jxr_linenumber" name="L543" href="#L543">543</a>                     pd.setDefaultValue( expression );
-<a class="jxr_linenumber" name="L544" href="#L544">544</a>                     pd.setType( role );
-<a class="jxr_linenumber" name="L545" href="#L545">545</a>                     pd.setRequired( <strong class="jxr_keyword">true</strong> );
-<a class="jxr_linenumber" name="L546" href="#L546">546</a>                 }
-<a class="jxr_linenumber" name="L547" href="#L547">547</a> 
-<a class="jxr_linenumber" name="L548" href="#L548">548</a>                 pd.setEditable( false );
-<a class="jxr_linenumber" name="L549" href="#L549">549</a>                 <em class="jxr_comment">/* TODO: or better like this? Need @component fields be editable for the user?</em>
-<a class="jxr_linenumber" name="L550" href="#L550">550</a> <em class="jxr_comment">                pd.setEditable( field.getTagByName( READONLY ) == null );</em>
-<a class="jxr_linenumber" name="L551" href="#L551">551</a> <em class="jxr_comment">                */</em>
-<a class="jxr_linenumber" name="L552" href="#L552">552</a>             }
-<a class="jxr_linenumber" name="L553" href="#L553">553</a>             <strong class="jxr_keyword">else</strong>
-<a class="jxr_linenumber" name="L554" href="#L554">554</a>             {
-<a class="jxr_linenumber" name="L555" href="#L555">555</a>                 <em class="jxr_comment">// Parameter tag</em>
-<a class="jxr_linenumber" name="L556" href="#L556">556</a>                 DocletTag parameter = field.getTagByName( JavaMojoAnnotation.PARAMETER );
-<a class="jxr_linenumber" name="L557" href="#L557">557</a> 
-<a class="jxr_linenumber" name="L558" href="#L558">558</a>                 pd.setRequired( field.getTagByName( JavaMojoAnnotation.REQUIRED ) != <strong class="jxr_keyword">null</strong> );
-<a class="jxr_linenumber" name="L559" href="#L559">559</a> 
-<a class="jxr_linenumber" name="L560" href="#L560">560</a>                 pd.setEditable( field.getTagByName( JavaMojoAnnotation.READONLY ) == <strong class="jxr_keyword">null</strong> );
-<a class="jxr_linenumber" name="L561" href="#L561">561</a> 
-<a class="jxr_linenumber" name="L562" href="#L562">562</a>                 String alias = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_ALIAS );
-<a class="jxr_linenumber" name="L563" href="#L563">563</a> 
-<a class="jxr_linenumber" name="L564" href="#L564">564</a>                 <strong class="jxr_keyword">if</strong> ( !StringUtils.isEmpty( alias ) )
-<a class="jxr_linenumber" name="L565" href="#L565">565</a>                 {
-<a class="jxr_linenumber" name="L566" href="#L566">566</a>                     pd.setAlias( alias );
-<a class="jxr_linenumber" name="L567" href="#L567">567</a>                 }
-<a class="jxr_linenumber" name="L568" href="#L568">568</a> 
-<a class="jxr_linenumber" name="L569" href="#L569">569</a>                 String expression = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_EXPRESSION );
-<a class="jxr_linenumber" name="L570" href="#L570">570</a>                 String property = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_PROPERTY );
+<a class="jxr_linenumber" name="L543" href="#L543">543</a>                     getLogger().warn( <span class="jxr_string">"Deprecated @Component for "</span> + pd.getName() + <span class="jxr_string">" field in "</span>
+<a class="jxr_linenumber" name="L544" href="#L544">544</a>                                           + javaClass.getFullyQualifiedName() + <span class="jxr_string">": replace with @Parameter( name = \&quot;"</span>
+<a class="jxr_linenumber" name="L545" href="#L545">545</a>                                           + expression + <span class="jxr_string">"\&quot;, readonly = true )"</span> );
+<a class="jxr_linenumber" name="L546" href="#L546">546</a>                     pd.setDefaultValue( expression );
+<a class="jxr_linenumber" name="L547" href="#L547">547</a>                     pd.setType( role );
+<a class="jxr_linenumber" name="L548" href="#L548">548</a>                     pd.setRequired( <strong class="jxr_keyword">true</strong> );
+<a class="jxr_linenumber" name="L549" href="#L549">549</a>                 }
+<a class="jxr_linenumber" name="L550" href="#L550">550</a> 
+<a class="jxr_linenumber" name="L551" href="#L551">551</a>                 pd.setEditable( false );
+<a class="jxr_linenumber" name="L552" href="#L552">552</a>                 <em class="jxr_comment">/* TODO: or better like this? Need @component fields be editable for the user?</em>
+<a class="jxr_linenumber" name="L553" href="#L553">553</a> <em class="jxr_comment">                pd.setEditable( field.getTagByName( READONLY ) == null );</em>
+<a class="jxr_linenumber" name="L554" href="#L554">554</a> <em class="jxr_comment">                */</em>
+<a class="jxr_linenumber" name="L555" href="#L555">555</a>             }
+<a class="jxr_linenumber" name="L556" href="#L556">556</a>             <strong class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L557" href="#L557">557</a>             {
+<a class="jxr_linenumber" name="L558" href="#L558">558</a>                 <em class="jxr_comment">// Parameter tag</em>
+<a class="jxr_linenumber" name="L559" href="#L559">559</a>                 DocletTag parameter = field.getTagByName( JavaMojoAnnotation.PARAMETER );
+<a class="jxr_linenumber" name="L560" href="#L560">560</a> 
+<a class="jxr_linenumber" name="L561" href="#L561">561</a>                 pd.setRequired( field.getTagByName( JavaMojoAnnotation.REQUIRED ) != <strong class="jxr_keyword">null</strong> );
+<a class="jxr_linenumber" name="L562" href="#L562">562</a> 
+<a class="jxr_linenumber" name="L563" href="#L563">563</a>                 pd.setEditable( field.getTagByName( JavaMojoAnnotation.READONLY ) == <strong class="jxr_keyword">null</strong> );
+<a class="jxr_linenumber" name="L564" href="#L564">564</a> 
+<a class="jxr_linenumber" name="L565" href="#L565">565</a>                 String alias = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_ALIAS );
+<a class="jxr_linenumber" name="L566" href="#L566">566</a> 
+<a class="jxr_linenumber" name="L567" href="#L567">567</a>                 <strong class="jxr_keyword">if</strong> ( !StringUtils.isEmpty( alias ) )
+<a class="jxr_linenumber" name="L568" href="#L568">568</a>                 {
+<a class="jxr_linenumber" name="L569" href="#L569">569</a>                     pd.setAlias( alias );
+<a class="jxr_linenumber" name="L570" href="#L570">570</a>                 }
 <a class="jxr_linenumber" name="L571" href="#L571">571</a> 
-<a class="jxr_linenumber" name="L572" href="#L572">572</a>                 <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( expression ) &amp;&amp; StringUtils.isNotEmpty( property ) )
-<a class="jxr_linenumber" name="L573" href="#L573">573</a>                 {
-<a class="jxr_linenumber" name="L574" href="#L574">574</a>                     getLogger().error( javaClass.getFullyQualifiedName() + <span class="jxr_string">"#"</span> + field.getName() + <span class="jxr_string">":"</span> );
-<a class="jxr_linenumber" name="L575" href="#L575">575</a>                     getLogger().error( <span class="jxr_string">"  Cannot use both:"</span> );
-<a class="jxr_linenumber" name="L576" href="#L576">576</a>                     getLogger().error( <span class="jxr_string">"    @parameter expression=\&quot;${property}\&quot;"</span> );
-<a class="jxr_linenumber" name="L577" href="#L577">577</a>                     getLogger().error( <span class="jxr_string">"  and"</span> );
-<a class="jxr_linenumber" name="L578" href="#L578">578</a>                     getLogger().error( <span class="jxr_string">"    @parameter property=\&quot;property\&quot;"</span> );
-<a class="jxr_linenumber" name="L579" href="#L579">579</a>                     getLogger().error( <span class="jxr_string">"  Second syntax is preferred."</span> );
-<a class="jxr_linenumber" name="L580" href="#L580">580</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> InvalidParameterException( javaClass.getFullyQualifiedName() + <span class="jxr_string">"#"</span> + field.getName()
-<a class="jxr_linenumber" name="L581" href="#L581">581</a>                         + <span class="jxr_string">": cannot"</span> + <span class="jxr_string">" use both @parameter expression and property"</span>, <strong class="jxr_keyword">null</strong> );
-<a class="jxr_linenumber" name="L582" href="#L582">582</a>                 }
-<a class="jxr_linenumber" name="L583" href="#L583">583</a> 
-<a class="jxr_linenumber" name="L584" href="#L584">584</a>                 <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( expression ) )
-<a class="jxr_linenumber" name="L585" href="#L585">585</a>                 {
-<a class="jxr_linenumber" name="L586" href="#L586">586</a>                     getLogger().warn( javaClass.getFullyQualifiedName() + <span class="jxr_string">"#"</span> + field.getName() + <span class="jxr_string">":"</span> );
-<a class="jxr_linenumber" name="L587" href="#L587">587</a>                     getLogger().warn( <span class="jxr_string">"  The syntax"</span> );
-<a class="jxr_linenumber" name="L588" href="#L588">588</a>                     getLogger().warn( <span class="jxr_string">"    @parameter expression=\&quot;${property}\&quot;"</span> );
-<a class="jxr_linenumber" name="L589" href="#L589">589</a>                     getLogger().warn( <span class="jxr_string">"  is deprecated, please use"</span> );
-<a class="jxr_linenumber" name="L590" href="#L590">590</a>                     getLogger().warn( <span class="jxr_string">"    @parameter property=\&quot;property\&quot;"</span> );
-<a class="jxr_linenumber" name="L591" href="#L591">591</a>                     getLogger().warn( <span class="jxr_string">"  instead."</span> );
-<a class="jxr_linenumber" name="L592" href="#L592">592</a> 
-<a class="jxr_linenumber" name="L593" href="#L593">593</a>                 }
-<a class="jxr_linenumber" name="L594" href="#L594">594</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( property ) )
-<a class="jxr_linenumber" name="L595" href="#L595">595</a>                 {
-<a class="jxr_linenumber" name="L596" href="#L596">596</a>                     expression = <span class="jxr_string">"${"</span> + property + <span class="jxr_string">"}"</span>;
-<a class="jxr_linenumber" name="L597" href="#L597">597</a>                 }
-<a class="jxr_linenumber" name="L598" href="#L598">598</a> 
-<a class="jxr_linenumber" name="L599" href="#L599">599</a>                 pd.setExpression( expression );
-<a class="jxr_linenumber" name="L600" href="#L600">600</a> 
-<a class="jxr_linenumber" name="L601" href="#L601">601</a>                 <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( expression ) &amp;&amp; expression.startsWith( <span class="jxr_string">"${component."</span> ) )
-<a class="jxr_linenumber" name="L602" href="#L602">602</a>                 {
-<a class="jxr_linenumber" name="L603" href="#L603">603</a>                     getLogger().warn( javaClass.getFullyQualifiedName() + <span class="jxr_string">"#"</span> + field.getName() + <span class="jxr_string">":"</span> );
-<a class="jxr_linenumber" name="L604" href="#L604">604</a>                     getLogger().warn( <span class="jxr_string">"  The syntax"</span> );
-<a class="jxr_linenumber" name="L605" href="#L605">605</a>                     getLogger().warn( <span class="jxr_string">"    @parameter expression=\&quot;${component.&lt;role&gt;#&lt;roleHint&gt;}\&quot;"</span> );
-<a class="jxr_linenumber" name="L606" href="#L606">606</a>                     getLogger().warn( <span class="jxr_string">"  is deprecated, please use"</span> );
-<a class="jxr_linenumber" name="L607" href="#L607">607</a>                     getLogger().warn( <span class="jxr_string">"    @component role=\&quot;&lt;role&gt;\&quot; roleHint=\&quot;&lt;roleHint&gt;\&quot;"</span> );
-<a class="jxr_linenumber" name="L608" href="#L608">608</a>                     getLogger().warn( <span class="jxr_string">"  instead."</span> );
-<a class="jxr_linenumber" name="L609" href="#L609">609</a>                 }
-<a class="jxr_linenumber" name="L610" href="#L610">610</a> 
-<a class="jxr_linenumber" name="L611" href="#L611">611</a>                 <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"${reports}"</span>.equals( pd.getExpression() ) )
-<a class="jxr_linenumber" name="L612" href="#L612">612</a>                 {
-<a class="jxr_linenumber" name="L613" href="#L613">613</a>                     mojoDescriptor.setRequiresReports( <strong class="jxr_keyword">true</strong> );
-<a class="jxr_linenumber" name="L614" href="#L614">614</a>                 }
-<a class="jxr_linenumber" name="L615" href="#L615">615</a> 
-<a class="jxr_linenumber" name="L616" href="#L616">616</a>                 pd.setDefaultValue( parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_DEFAULT_VALUE ) );
-<a class="jxr_linenumber" name="L617" href="#L617">617</a> 
-<a class="jxr_linenumber" name="L618" href="#L618">618</a>                 pd.setImplementation( parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_IMPLEMENTATION ) );
-<a class="jxr_linenumber" name="L619" href="#L619">619</a>             }
+<a class="jxr_linenumber" name="L572" href="#L572">572</a>                 String expression = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_EXPRESSION );
+<a class="jxr_linenumber" name="L573" href="#L573">573</a>                 String property = parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_PROPERTY );
+<a class="jxr_linenumber" name="L574" href="#L574">574</a> 
+<a class="jxr_linenumber" name="L575" href="#L575">575</a>                 <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( expression ) &amp;&amp; StringUtils.isNotEmpty( property ) )
+<a class="jxr_linenumber" name="L576" href="#L576">576</a>                 {
+<a class="jxr_linenumber" name="L577" href="#L577">577</a>                     getLogger().error( javaClass.getFullyQualifiedName() + <span class="jxr_string">"#"</span> + field.getName() + <span class="jxr_string">":"</span> );
+<a class="jxr_linenumber" name="L578" href="#L578">578</a>                     getLogger().error( <span class="jxr_string">"  Cannot use both:"</span> );
+<a class="jxr_linenumber" name="L579" href="#L579">579</a>                     getLogger().error( <span class="jxr_string">"    @parameter expression=\&quot;${property}\&quot;"</span> );
+<a class="jxr_linenumber" name="L580" href="#L580">580</a>                     getLogger().error( <span class="jxr_string">"  and"</span> );
+<a class="jxr_linenumber" name="L581" href="#L581">581</a>                     getLogger().error( <span class="jxr_string">"    @parameter property=\&quot;property\&quot;"</span> );
+<a class="jxr_linenumber" name="L582" href="#L582">582</a>                     getLogger().error( <span class="jxr_string">"  Second syntax is preferred."</span> );
+<a class="jxr_linenumber" name="L583" href="#L583">583</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> InvalidParameterException( javaClass.getFullyQualifiedName() + <span class="jxr_string">"#"</span> + field.getName()
+<a class="jxr_linenumber" name="L584" href="#L584">584</a>                         + <span class="jxr_string">": cannot"</span> + <span class="jxr_string">" use both @parameter expression and property"</span>, <strong class="jxr_keyword">null</strong> );
+<a class="jxr_linenumber" name="L585" href="#L585">585</a>                 }
+<a class="jxr_linenumber" name="L586" href="#L586">586</a> 
+<a class="jxr_linenumber" name="L587" href="#L587">587</a>                 <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( expression ) )
+<a class="jxr_linenumber" name="L588" href="#L588">588</a>                 {
+<a class="jxr_linenumber" name="L589" href="#L589">589</a>                     getLogger().warn( javaClass.getFullyQualifiedName() + <span class="jxr_string">"#"</span> + field.getName() + <span class="jxr_string">":"</span> );
+<a class="jxr_linenumber" name="L590" href="#L590">590</a>                     getLogger().warn( <span class="jxr_string">"  The syntax"</span> );
+<a class="jxr_linenumber" name="L591" href="#L591">591</a>                     getLogger().warn( <span class="jxr_string">"    @parameter expression=\&quot;${property}\&quot;"</span> );
+<a class="jxr_linenumber" name="L592" href="#L592">592</a>                     getLogger().warn( <span class="jxr_string">"  is deprecated, please use"</span> );
+<a class="jxr_linenumber" name="L593" href="#L593">593</a>                     getLogger().warn( <span class="jxr_string">"    @parameter property=\&quot;property\&quot;"</span> );
+<a class="jxr_linenumber" name="L594" href="#L594">594</a>                     getLogger().warn( <span class="jxr_string">"  instead."</span> );
+<a class="jxr_linenumber" name="L595" href="#L595">595</a> 
+<a class="jxr_linenumber" name="L596" href="#L596">596</a>                 }
+<a class="jxr_linenumber" name="L597" href="#L597">597</a>                 <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( property ) )
+<a class="jxr_linenumber" name="L598" href="#L598">598</a>                 {
+<a class="jxr_linenumber" name="L599" href="#L599">599</a>                     expression = <span class="jxr_string">"${"</span> + property + <span class="jxr_string">"}"</span>;
+<a class="jxr_linenumber" name="L600" href="#L600">600</a>                 }
+<a class="jxr_linenumber" name="L601" href="#L601">601</a> 
+<a class="jxr_linenumber" name="L602" href="#L602">602</a>                 pd.setExpression( expression );
+<a class="jxr_linenumber" name="L603" href="#L603">603</a> 
+<a class="jxr_linenumber" name="L604" href="#L604">604</a>                 <strong class="jxr_keyword">if</strong> ( StringUtils.isNotEmpty( expression ) &amp;&amp; expression.startsWith( <span class="jxr_string">"${component."</span> ) )
+<a class="jxr_linenumber" name="L605" href="#L605">605</a>                 {
+<a class="jxr_linenumber" name="L606" href="#L606">606</a>                     getLogger().warn( javaClass.getFullyQualifiedName() + <span class="jxr_string">"#"</span> + field.getName() + <span class="jxr_string">":"</span> );
+<a class="jxr_linenumber" name="L607" href="#L607">607</a>                     getLogger().warn( <span class="jxr_string">"  The syntax"</span> );
+<a class="jxr_linenumber" name="L608" href="#L608">608</a>                     getLogger().warn( <span class="jxr_string">"    @parameter expression=\&quot;${component.&lt;role&gt;#&lt;roleHint&gt;}\&quot;"</span> );
+<a class="jxr_linenumber" name="L609" href="#L609">609</a>                     getLogger().warn( <span class="jxr_string">"  is deprecated, please use"</span> );
+<a class="jxr_linenumber" name="L610" href="#L610">610</a>                     getLogger().warn( <span class="jxr_string">"    @component role=\&quot;&lt;role&gt;\&quot; roleHint=\&quot;&lt;roleHint&gt;\&quot;"</span> );
+<a class="jxr_linenumber" name="L611" href="#L611">611</a>                     getLogger().warn( <span class="jxr_string">"  instead."</span> );
+<a class="jxr_linenumber" name="L612" href="#L612">612</a>                 }
+<a class="jxr_linenumber" name="L613" href="#L613">613</a> 
+<a class="jxr_linenumber" name="L614" href="#L614">614</a>                 <strong class="jxr_keyword">if</strong> ( <span class="jxr_string">"${reports}"</span>.equals( pd.getExpression() ) )
+<a class="jxr_linenumber" name="L615" href="#L615">615</a>                 {
+<a class="jxr_linenumber" name="L616" href="#L616">616</a>                     mojoDescriptor.setRequiresReports( <strong class="jxr_keyword">true</strong> );
+<a class="jxr_linenumber" name="L617" href="#L617">617</a>                 }
+<a class="jxr_linenumber" name="L618" href="#L618">618</a> 
+<a class="jxr_linenumber" name="L619" href="#L619">619</a>                 pd.setDefaultValue( parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_DEFAULT_VALUE ) );
 <a class="jxr_linenumber" name="L620" href="#L620">620</a> 
-<a class="jxr_linenumber" name="L621" href="#L621">621</a>             mojoDescriptor.addParameter( pd );
-<a class="jxr_linenumber" name="L622" href="#L622">622</a>         }
-<a class="jxr_linenumber" name="L623" href="#L623">623</a>     }
-<a class="jxr_linenumber" name="L624" href="#L624">624</a> 
-<a class="jxr_linenumber" name="L625" href="#L625">625</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L626" href="#L626">626</a> <em class="jxr_javadoccomment">     * extract fields that are either parameters or components.</em>
-<a class="jxr_linenumber" name="L627" href="#L627">627</a> <em class="jxr_javadoccomment">     * </em>
-<a class="jxr_linenumber" name="L628" href="#L628">628</a> <em class="jxr_javadoccomment">     * @param javaClass not null</em>
-<a class="jxr_linenumber" name="L629" href="#L629">629</a> <em class="jxr_javadoccomment">     * @return map with Mojo parameters names as keys</em>
-<a class="jxr_linenumber" name="L630" href="#L630">630</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L631" href="#L631">631</a>     <strong class="jxr_keyword">private</strong> Map&lt;String, JavaField&gt; extractFieldParameterTags( JavaClass javaClass )
-<a class="jxr_linenumber" name="L632" href="#L632">632</a>     {
-<a class="jxr_linenumber" name="L633" href="#L633">633</a>         Map&lt;String, JavaField&gt; rawParams;
-<a class="jxr_linenumber" name="L634" href="#L634">634</a> 
-<a class="jxr_linenumber" name="L635" href="#L635">635</a>         <em class="jxr_comment">// we have to add the parent fields first, so that they will be overwritten by the local fields if</em>
-<a class="jxr_linenumber" name="L636" href="#L636">636</a>         <em class="jxr_comment">// that actually happens...</em>
-<a class="jxr_linenumber" name="L637" href="#L637">637</a>         JavaClass superClass = javaClass.getSuperJavaClass();
-<a class="jxr_linenumber" name="L638" href="#L638">638</a> 
-<a class="jxr_linenumber" name="L639" href="#L639">639</a>         <strong class="jxr_keyword">if</strong> ( superClass != <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L640" href="#L640">640</a>         {
-<a class="jxr_linenumber" name="L641" href="#L641">641</a>             rawParams = extractFieldParameterTags( superClass );
-<a class="jxr_linenumber" name="L642" href="#L642">642</a>         }
-<a class="jxr_linenumber" name="L643" href="#L643">643</a>         <strong class="jxr_keyword">else</strong>
-<a class="jxr_linenumber" name="L644" href="#L644">644</a>         {
-<a class="jxr_linenumber" name="L645" href="#L645">645</a>             rawParams = <strong class="jxr_keyword">new</strong> TreeMap&lt;String, JavaField&gt;();
-<a class="jxr_linenumber" name="L646" href="#L646">646</a>         }
-<a class="jxr_linenumber" name="L647" href="#L647">647</a> 
-<a class="jxr_linenumber" name="L648" href="#L648">648</a>         JavaField[] classFields = javaClass.getFields();
-<a class="jxr_linenumber" name="L649" href="#L649">649</a> 
-<a class="jxr_linenumber" name="L650" href="#L650">650</a>         <strong class="jxr_keyword">if</strong> ( classFields != <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L651" href="#L651">651</a>         {
-<a class="jxr_linenumber" name="L652" href="#L652">652</a>             <strong class="jxr_keyword">for</strong> ( JavaField field : classFields )
-<a class="jxr_linenumber" name="L653" href="#L653">653</a>             {
-<a class="jxr_linenumber" name="L654" href="#L654">654</a>                 <strong class="jxr_keyword">if</strong> ( field.getTagByName( JavaMojoAnnotation.PARAMETER ) != <strong class="jxr_keyword">null</strong>
-<a class="jxr_linenumber" name="L655" href="#L655">655</a>                     || field.getTagByName( JavaMojoAnnotation.COMPONENT ) != <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L656" href="#L656">656</a>                 {
-<a class="jxr_linenumber" name="L657" href="#L657">657</a>                     rawParams.put( field.getName(), field );
-<a class="jxr_linenumber" name="L658" href="#L658">658</a>                 }
-<a class="jxr_linenumber" name="L659" href="#L659">659</a>             }
-<a class="jxr_linenumber" name="L660" href="#L660">660</a>         }
-<a class="jxr_linenumber" name="L661" href="#L661">661</a>         <strong class="jxr_keyword">return</strong> rawParams;
-<a class="jxr_linenumber" name="L662" href="#L662">662</a>     }
-<a class="jxr_linenumber" name="L663" href="#L663">663</a> 
-<a class="jxr_linenumber" name="L664" href="#L664">664</a>     <em class="jxr_javadoccomment">/** {@inheritDoc} */</em>
-<a class="jxr_linenumber" name="L665" href="#L665">665</a>     <strong class="jxr_keyword">public</strong> List&lt;MojoDescriptor&gt; execute( MavenProject project, PluginDescriptor pluginDescriptor )
-<a class="jxr_linenumber" name="L666" href="#L666">666</a>         <strong class="jxr_keyword">throws</strong> ExtractionException, InvalidPluginDescriptorException
-<a class="jxr_linenumber" name="L667" href="#L667">667</a>     {
-<a class="jxr_linenumber" name="L668" href="#L668">668</a>         <strong class="jxr_keyword">return</strong> execute( <strong class="jxr_keyword">new</strong> DefaultPluginToolsRequest( project, pluginDescriptor ) );
-<a class="jxr_linenumber" name="L669" href="#L669">669</a>     }
-<a class="jxr_linenumber" name="L670" href="#L670">670</a>     
-<a class="jxr_linenumber" name="L671" href="#L671">671</a>     <em class="jxr_javadoccomment">/** {@inheritDoc} */</em>
-<a class="jxr_linenumber" name="L672" href="#L672">672</a>     <strong class="jxr_keyword">public</strong> List&lt;MojoDescriptor&gt; execute( PluginToolsRequest request )
-<a class="jxr_linenumber" name="L673" href="#L673">673</a>         <strong class="jxr_keyword">throws</strong> ExtractionException, InvalidPluginDescriptorException
-<a class="jxr_linenumber" name="L674" href="#L674">674</a>     {
-<a class="jxr_linenumber" name="L675" href="#L675">675</a>         JavaClass[] javaClasses = discoverClasses( request );
-<a class="jxr_linenumber" name="L676" href="#L676">676</a> 
-<a class="jxr_linenumber" name="L677" href="#L677">677</a>         List&lt;MojoDescriptor&gt; descriptors = <strong class="jxr_keyword">new</strong> ArrayList&lt;MojoDescriptor&gt;();
-<a class="jxr_linenumber" name="L678" href="#L678">678</a> 
-<a class="jxr_linenumber" name="L679" href="#L679">679</a>         <strong class="jxr_keyword">for</strong> ( JavaClass javaClass : javaClasses )
-<a class="jxr_linenumber" name="L680" href="#L680">680</a>         {
-<a class="jxr_linenumber" name="L681" href="#L681">681</a>             DocletTag tag = javaClass.getTagByName( GOAL );
-<a class="jxr_linenumber" name="L682" href="#L682">682</a> 
-<a class="jxr_linenumber" name="L683" href="#L683">683</a>             <strong class="jxr_keyword">if</strong> ( tag != <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L684" href="#L684">684</a>             {
-<a class="jxr_linenumber" name="L685" href="#L685">685</a>                 MojoDescriptor mojoDescriptor = createMojoDescriptor( javaClass );
-<a class="jxr_linenumber" name="L686" href="#L686">686</a>                 mojoDescriptor.setPluginDescriptor( request.getPluginDescriptor() );
-<a class="jxr_linenumber" name="L687" href="#L687">687</a> 
-<a class="jxr_linenumber" name="L688" href="#L688">688</a>                 <em class="jxr_comment">// Validate the descriptor as best we can before allowing it to be processed.</em>
-<a class="jxr_linenumber" name="L689" href="#L689">689</a>                 validate( mojoDescriptor );
+<a class="jxr_linenumber" name="L621" href="#L621">621</a>                 pd.setImplementation( parameter.getNamedParameter( JavaMojoAnnotation.PARAMETER_IMPLEMENTATION ) );
+<a class="jxr_linenumber" name="L622" href="#L622">622</a>             }
+<a class="jxr_linenumber" name="L623" href="#L623">623</a> 
+<a class="jxr_linenumber" name="L624" href="#L624">624</a>             mojoDescriptor.addParameter( pd );
+<a class="jxr_linenumber" name="L625" href="#L625">625</a>         }
+<a class="jxr_linenumber" name="L626" href="#L626">626</a>     }
+<a class="jxr_linenumber" name="L627" href="#L627">627</a> 
+<a class="jxr_linenumber" name="L628" href="#L628">628</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L629" href="#L629">629</a> <em class="jxr_javadoccomment">     * extract fields that are either parameters or components.</em>
+<a class="jxr_linenumber" name="L630" href="#L630">630</a> <em class="jxr_javadoccomment">     * </em>
+<a class="jxr_linenumber" name="L631" href="#L631">631</a> <em class="jxr_javadoccomment">     * @param javaClass not null</em>
+<a class="jxr_linenumber" name="L632" href="#L632">632</a> <em class="jxr_javadoccomment">     * @return map with Mojo parameters names as keys</em>
+<a class="jxr_linenumber" name="L633" href="#L633">633</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L634" href="#L634">634</a>     <strong class="jxr_keyword">private</strong> Map&lt;String, JavaField&gt; extractFieldParameterTags( JavaClass javaClass )
+<a class="jxr_linenumber" name="L635" href="#L635">635</a>     {
+<a class="jxr_linenumber" name="L636" href="#L636">636</a>         Map&lt;String, JavaField&gt; rawParams;
+<a class="jxr_linenumber" name="L637" href="#L637">637</a> 
+<a class="jxr_linenumber" name="L638" href="#L638">638</a>         <em class="jxr_comment">// we have to add the parent fields first, so that they will be overwritten by the local fields if</em>
+<a class="jxr_linenumber" name="L639" href="#L639">639</a>         <em class="jxr_comment">// that actually happens...</em>
+<a class="jxr_linenumber" name="L640" href="#L640">640</a>         JavaClass superClass = javaClass.getSuperJavaClass();
+<a class="jxr_linenumber" name="L641" href="#L641">641</a> 
+<a class="jxr_linenumber" name="L642" href="#L642">642</a>         <strong class="jxr_keyword">if</strong> ( superClass != <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L643" href="#L643">643</a>         {
+<a class="jxr_linenumber" name="L644" href="#L644">644</a>             rawParams = extractFieldParameterTags( superClass );
+<a class="jxr_linenumber" name="L645" href="#L645">645</a>         }
+<a class="jxr_linenumber" name="L646" href="#L646">646</a>         <strong class="jxr_keyword">else</strong>
+<a class="jxr_linenumber" name="L647" href="#L647">647</a>         {
+<a class="jxr_linenumber" name="L648" href="#L648">648</a>             rawParams = <strong class="jxr_keyword">new</strong> TreeMap&lt;String, JavaField&gt;();
+<a class="jxr_linenumber" name="L649" href="#L649">649</a>         }
+<a class="jxr_linenumber" name="L650" href="#L650">650</a> 
+<a class="jxr_linenumber" name="L651" href="#L651">651</a>         JavaField[] classFields = javaClass.getFields();
+<a class="jxr_linenumber" name="L652" href="#L652">652</a> 
+<a class="jxr_linenumber" name="L653" href="#L653">653</a>         <strong class="jxr_keyword">if</strong> ( classFields != <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L654" href="#L654">654</a>         {
+<a class="jxr_linenumber" name="L655" href="#L655">655</a>             <strong class="jxr_keyword">for</strong> ( JavaField field : classFields )
+<a class="jxr_linenumber" name="L656" href="#L656">656</a>             {
+<a class="jxr_linenumber" name="L657" href="#L657">657</a>                 <strong class="jxr_keyword">if</strong> ( field.getTagByName( JavaMojoAnnotation.PARAMETER ) != <strong class="jxr_keyword">null</strong>
+<a class="jxr_linenumber" name="L658" href="#L658">658</a>                     || field.getTagByName( JavaMojoAnnotation.COMPONENT ) != <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L659" href="#L659">659</a>                 {
+<a class="jxr_linenumber" name="L660" href="#L660">660</a>                     rawParams.put( field.getName(), field );
+<a class="jxr_linenumber" name="L661" href="#L661">661</a>                 }
+<a class="jxr_linenumber" name="L662" href="#L662">662</a>             }
+<a class="jxr_linenumber" name="L663" href="#L663">663</a>         }
+<a class="jxr_linenumber" name="L664" href="#L664">664</a>         <strong class="jxr_keyword">return</strong> rawParams;
+<a class="jxr_linenumber" name="L665" href="#L665">665</a>     }
+<a class="jxr_linenumber" name="L666" href="#L666">666</a> 
+<a class="jxr_linenumber" name="L667" href="#L667">667</a>     <em class="jxr_javadoccomment">/** {@inheritDoc} */</em>
+<a class="jxr_linenumber" name="L668" href="#L668">668</a>     <strong class="jxr_keyword">public</strong> List&lt;MojoDescriptor&gt; execute( MavenProject project, PluginDescriptor pluginDescriptor )
+<a class="jxr_linenumber" name="L669" href="#L669">669</a>         <strong class="jxr_keyword">throws</strong> ExtractionException, InvalidPluginDescriptorException
+<a class="jxr_linenumber" name="L670" href="#L670">670</a>     {
+<a class="jxr_linenumber" name="L671" href="#L671">671</a>         <strong class="jxr_keyword">return</strong> execute( <strong class="jxr_keyword">new</strong> DefaultPluginToolsRequest( project, pluginDescriptor ) );
+<a class="jxr_linenumber" name="L672" href="#L672">672</a>     }
+<a class="jxr_linenumber" name="L673" href="#L673">673</a>     
+<a class="jxr_linenumber" name="L674" href="#L674">674</a>     <em class="jxr_javadoccomment">/** {@inheritDoc} */</em>
+<a class="jxr_linenumber" name="L675" href="#L675">675</a>     <strong class="jxr_keyword">public</strong> List&lt;MojoDescriptor&gt; execute( PluginToolsRequest request )
+<a class="jxr_linenumber" name="L676" href="#L676">676</a>         <strong class="jxr_keyword">throws</strong> ExtractionException, InvalidPluginDescriptorException
+<a class="jxr_linenumber" name="L677" href="#L677">677</a>     {
+<a class="jxr_linenumber" name="L678" href="#L678">678</a>         JavaClass[] javaClasses = discoverClasses( request );
+<a class="jxr_linenumber" name="L679" href="#L679">679</a> 
+<a class="jxr_linenumber" name="L680" href="#L680">680</a>         List&lt;MojoDescriptor&gt; descriptors = <strong class="jxr_keyword">new</strong> ArrayList&lt;MojoDescriptor&gt;();
+<a class="jxr_linenumber" name="L681" href="#L681">681</a> 
+<a class="jxr_linenumber" name="L682" href="#L682">682</a>         <strong class="jxr_keyword">for</strong> ( JavaClass javaClass : javaClasses )
+<a class="jxr_linenumber" name="L683" href="#L683">683</a>         {
+<a class="jxr_linenumber" name="L684" href="#L684">684</a>             DocletTag tag = javaClass.getTagByName( GOAL );
+<a class="jxr_linenumber" name="L685" href="#L685">685</a> 
+<a class="jxr_linenumber" name="L686" href="#L686">686</a>             <strong class="jxr_keyword">if</strong> ( tag != <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L687" href="#L687">687</a>             {
+<a class="jxr_linenumber" name="L688" href="#L688">688</a>                 MojoDescriptor mojoDescriptor = createMojoDescriptor( javaClass );
+<a class="jxr_linenumber" name="L689" href="#L689">689</a>                 mojoDescriptor.setPluginDescriptor( request.getPluginDescriptor() );
 <a class="jxr_linenumber" name="L690" href="#L690">690</a> 
-<a class="jxr_linenumber" name="L691" href="#L691">691</a>                 descriptors.add( mojoDescriptor );
-<a class="jxr_linenumber" name="L692" href="#L692">692</a>             }
-<a class="jxr_linenumber" name="L693" href="#L693">693</a>         }
-<a class="jxr_linenumber" name="L694" href="#L694">694</a> 
-<a class="jxr_linenumber" name="L695" href="#L695">695</a>         <strong class="jxr_keyword">return</strong> descriptors;
-<a class="jxr_linenumber" name="L696" href="#L696">696</a>     }
+<a class="jxr_linenumber" name="L691" href="#L691">691</a>                 <em class="jxr_comment">// Validate the descriptor as best we can before allowing it to be processed.</em>
+<a class="jxr_linenumber" name="L692" href="#L692">692</a>                 validate( mojoDescriptor );
+<a class="jxr_linenumber" name="L693" href="#L693">693</a> 
+<a class="jxr_linenumber" name="L694" href="#L694">694</a>                 descriptors.add( mojoDescriptor );
+<a class="jxr_linenumber" name="L695" href="#L695">695</a>             }
+<a class="jxr_linenumber" name="L696" href="#L696">696</a>         }
 <a class="jxr_linenumber" name="L697" href="#L697">697</a> 
-<a class="jxr_linenumber" name="L698" href="#L698">698</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L699" href="#L699">699</a> <em class="jxr_javadoccomment">     * @param request The plugin request.</em>
-<a class="jxr_linenumber" name="L700" href="#L700">700</a> <em class="jxr_javadoccomment">     * @return an array of java class</em>
-<a class="jxr_linenumber" name="L701" href="#L701">701</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L702" href="#L702">702</a>     @SuppressWarnings( <span class="jxr_string">"unchecked"</span> )
-<a class="jxr_linenumber" name="L703" href="#L703">703</a>     <strong class="jxr_keyword">protected</strong> JavaClass[] discoverClasses( <strong class="jxr_keyword">final</strong> PluginToolsRequest request )
-<a class="jxr_linenumber" name="L704" href="#L704">704</a>     {
-<a class="jxr_linenumber" name="L705" href="#L705">705</a>         JavaDocBuilder builder = <strong class="jxr_keyword">new</strong> JavaDocBuilder();
-<a class="jxr_linenumber" name="L706" href="#L706">706</a>         builder.setEncoding( request.getEncoding() );
-<a class="jxr_linenumber" name="L707" href="#L707">707</a>         
-<a class="jxr_linenumber" name="L708" href="#L708">708</a>         MavenProject project = request.getProject();
-<a class="jxr_linenumber" name="L709" href="#L709">709</a> 
-<a class="jxr_linenumber" name="L710" href="#L710">710</a>         <strong class="jxr_keyword">for</strong> ( String source : (List&lt;String&gt;) project.getCompileSourceRoots() )
-<a class="jxr_linenumber" name="L711" href="#L711">711</a>         {
-<a class="jxr_linenumber" name="L712" href="#L712">712</a>             builder.addSourceTree( <strong class="jxr_keyword">new</strong> File( source ) );
-<a class="jxr_linenumber" name="L713" href="#L713">713</a>         }
-<a class="jxr_linenumber" name="L714" href="#L714">714</a> 
-<a class="jxr_linenumber" name="L715" href="#L715">715</a>         <em class="jxr_comment">// TODO be more dynamic</em>
-<a class="jxr_linenumber" name="L716" href="#L716">716</a>         File generatedPlugin = <strong class="jxr_keyword">new</strong> File( project.getBasedir(), <span class="jxr_string">"target/generated-sources/plugin"</span> );
-<a class="jxr_linenumber" name="L717" href="#L717">717</a>         <strong class="jxr_keyword">if</strong> ( !project.getCompileSourceRoots().contains( generatedPlugin.getAbsolutePath() ) )
-<a class="jxr_linenumber" name="L718" href="#L718">718</a>         {
-<a class="jxr_linenumber" name="L719" href="#L719">719</a>             builder.addSourceTree( generatedPlugin );
-<a class="jxr_linenumber" name="L720" href="#L720">720</a>         }
-<a class="jxr_linenumber" name="L721" href="#L721">721</a> 
-<a class="jxr_linenumber" name="L722" href="#L722">722</a>         <strong class="jxr_keyword">return</strong> builder.getClasses();
-<a class="jxr_linenumber" name="L723" href="#L723">723</a>     }
+<a class="jxr_linenumber" name="L698" href="#L698">698</a>         <strong class="jxr_keyword">return</strong> descriptors;
+<a class="jxr_linenumber" name="L699" href="#L699">699</a>     }
+<a class="jxr_linenumber" name="L700" href="#L700">700</a> 
+<a class="jxr_linenumber" name="L701" href="#L701">701</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L702" href="#L702">702</a> <em class="jxr_javadoccomment">     * @param request The plugin request.</em>
+<a class="jxr_linenumber" name="L703" href="#L703">703</a> <em class="jxr_javadoccomment">     * @return an array of java class</em>
+<a class="jxr_linenumber" name="L704" href="#L704">704</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L705" href="#L705">705</a>     @SuppressWarnings( <span class="jxr_string">"unchecked"</span> )
+<a class="jxr_linenumber" name="L706" href="#L706">706</a>     <strong class="jxr_keyword">protected</strong> JavaClass[] discoverClasses( <strong class="jxr_keyword">final</strong> PluginToolsRequest request )
+<a class="jxr_linenumber" name="L707" href="#L707">707</a>     {
+<a class="jxr_linenumber" name="L708" href="#L708">708</a>         JavaDocBuilder builder = <strong class="jxr_keyword">new</strong> JavaDocBuilder();
+<a class="jxr_linenumber" name="L709" href="#L709">709</a>         builder.setEncoding( request.getEncoding() );
+<a class="jxr_linenumber" name="L710" href="#L710">710</a>         
+<a class="jxr_linenumber" name="L711" href="#L711">711</a>         MavenProject project = request.getProject();
+<a class="jxr_linenumber" name="L712" href="#L712">712</a> 
+<a class="jxr_linenumber" name="L713" href="#L713">713</a>         <strong class="jxr_keyword">for</strong> ( String source : (List&lt;String&gt;) project.getCompileSourceRoots() )
+<a class="jxr_linenumber" name="L714" href="#L714">714</a>         {
+<a class="jxr_linenumber" name="L715" href="#L715">715</a>             builder.addSourceTree( <strong class="jxr_keyword">new</strong> File( source ) );
+<a class="jxr_linenumber" name="L716" href="#L716">716</a>         }
+<a class="jxr_linenumber" name="L717" href="#L717">717</a> 
+<a class="jxr_linenumber" name="L718" href="#L718">718</a>         <em class="jxr_comment">// TODO be more dynamic</em>
+<a class="jxr_linenumber" name="L719" href="#L719">719</a>         File generatedPlugin = <strong class="jxr_keyword">new</strong> File( project.getBasedir(), <span class="jxr_string">"target/generated-sources/plugin"</span> );
+<a class="jxr_linenumber" name="L720" href="#L720">720</a>         <strong class="jxr_keyword">if</strong> ( !project.getCompileSourceRoots().contains( generatedPlugin.getAbsolutePath() ) )
+<a class="jxr_linenumber" name="L721" href="#L721">721</a>         {
+<a class="jxr_linenumber" name="L722" href="#L722">722</a>             builder.addSourceTree( generatedPlugin );
+<a class="jxr_linenumber" name="L723" href="#L723">723</a>         }
 <a class="jxr_linenumber" name="L724" href="#L724">724</a> 
-<a class="jxr_linenumber" name="L725" href="#L725">725</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="L726" href="#L726">726</a> <em class="jxr_javadoccomment">     * @param mojoDescriptor not null</em>
-<a class="jxr_linenumber" name="L727" href="#L727">727</a> <em class="jxr_javadoccomment">     * @throws InvalidParameterException if any</em>
-<a class="jxr_linenumber" name="L728" href="#L728">728</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="L729" href="#L729">729</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> validate( MojoDescriptor mojoDescriptor )
-<a class="jxr_linenumber" name="L730" href="#L730">730</a>         <strong class="jxr_keyword">throws</strong> InvalidParameterException
-<a class="jxr_linenumber" name="L731" href="#L731">731</a>     {
-<a class="jxr_linenumber" name="L732" href="#L732">732</a>         @SuppressWarnings( <span class="jxr_string">"unchecked"</span> )
-<a class="jxr_linenumber" name="L733" href="#L733">733</a>         List&lt;Parameter&gt; parameters = mojoDescriptor.getParameters();
-<a class="jxr_linenumber" name="L734" href="#L734">734</a> 
-<a class="jxr_linenumber" name="L735" href="#L735">735</a>         <strong class="jxr_keyword">if</strong> ( parameters != <strong class="jxr_keyword">null</strong> )
-<a class="jxr_linenumber" name="L736" href="#L736">736</a>         {
-<a class="jxr_linenumber" name="L737" href="#L737">737</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> j = 0; j &lt; parameters.size(); j++ )
-<a class="jxr_linenumber" name="L738" href="#L738">738</a>             {
-<a class="jxr_linenumber" name="L739" href="#L739">739</a>                 validateParameter( parameters.get( j ), j );
-<a class="jxr_linenumber" name="L740" href="#L740">740</a>             }
-<a class="jxr_linenumber" name="L741" href="#L741">741</a>         }
-<a class="jxr_linenumber" name="L742" href="#L742">742</a>     }
-<a class="jxr_linenumber" name="L743" href="#L743">743</a> }
+<a class="jxr_linenumber" name="L725" href="#L725">725</a>         <strong class="jxr_keyword">return</strong> builder.getClasses();
+<a class="jxr_linenumber" name="L726" href="#L726">726</a>     }
+<a class="jxr_linenumber" name="L727" href="#L727">727</a> 
+<a class="jxr_linenumber" name="L728" href="#L728">728</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="L729" href="#L729">729</a> <em class="jxr_javadoccomment">     * @param mojoDescriptor not null</em>
+<a class="jxr_linenumber" name="L730" href="#L730">730</a> <em class="jxr_javadoccomment">     * @throws InvalidParameterException if any</em>
+<a class="jxr_linenumber" name="L731" href="#L731">731</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="L732" href="#L732">732</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> validate( MojoDescriptor mojoDescriptor )
+<a class="jxr_linenumber" name="L733" href="#L733">733</a>         <strong class="jxr_keyword">throws</strong> InvalidParameterException
+<a class="jxr_linenumber" name="L734" href="#L734">734</a>     {
+<a class="jxr_linenumber" name="L735" href="#L735">735</a>         @SuppressWarnings( <span class="jxr_string">"unchecked"</span> )
+<a class="jxr_linenumber" name="L736" href="#L736">736</a>         List&lt;Parameter&gt; parameters = mojoDescriptor.getParameters();
+<a class="jxr_linenumber" name="L737" href="#L737">737</a> 
+<a class="jxr_linenumber" name="L738" href="#L738">738</a>         <strong class="jxr_keyword">if</strong> ( parameters != <strong class="jxr_keyword">null</strong> )
+<a class="jxr_linenumber" name="L739" href="#L739">739</a>         {
+<a class="jxr_linenumber" name="L740" href="#L740">740</a>             <strong class="jxr_keyword">for</strong> ( <strong class="jxr_keyword">int</strong> j = 0; j &lt; parameters.size(); j++ )
+<a class="jxr_linenumber" name="L741" href="#L741">741</a>             {
+<a class="jxr_linenumber" name="L742" href="#L742">742</a>                 validateParameter( parameters.get( j ), j );
+<a class="jxr_linenumber" name="L743" href="#L743">743</a>             }
+<a class="jxr_linenumber" name="L744" href="#L744">744</a>         }
+<a class="jxr_linenumber" name="L745" href="#L745">745</a>     }
+<a class="jxr_linenumber" name="L746" href="#L746">746</a> }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2004&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>