View Javadoc
1   /*
2    =================== DO NOT EDIT THIS FILE ====================
3    
4    Generated by Modello 2.4.0,
5    
6    any modifications will be overwritten.
7    
8    ==============================================================
9    */
10  
11  package org.apache.maven.tools.plugin.extractor.model.io.xpp3;
12  
13    //---------------------------------/
14   //- Imported classes and packages -/
15  //---------------------------------/
16  
17  import java.io.OutputStream;
18  import java.io.Writer;
19  import java.util.Iterator;
20  import org.apache.maven.tools.plugin.extractor.model.Component;
21  import org.apache.maven.tools.plugin.extractor.model.LifecycleExecution;
22  import org.apache.maven.tools.plugin.extractor.model.Mojo;
23  import org.apache.maven.tools.plugin.extractor.model.Parameter;
24  import org.apache.maven.tools.plugin.extractor.model.PluginMetadata;
25  import org.codehaus.plexus.util.xml.pull.MXSerializer;
26  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
27  
28  /**
29   * Class PluginMetadataXpp3Writer.
30   * 
31   * @version $Revision$ $Date$
32   */
33  @SuppressWarnings( "all" )
34  public class PluginMetadataXpp3Writer
35  {
36  
37        //--------------------------/
38       //- Class/Member Variables -/
39      //--------------------------/
40  
41      /**
42       * Field NAMESPACE.
43       */
44      private static final String NAMESPACE = null;
45  
46      /**
47       * Field fileComment.
48       */
49      private String fileComment = null;
50  
51  
52        //-----------/
53       //- Methods -/
54      //-----------/
55  
56      /**
57       * Method setFileComment.
58       * 
59       * @param fileComment a fileComment object.
60       */
61      public void setFileComment( String fileComment )
62      {
63          this.fileComment = fileComment;
64      } //-- void setFileComment( String )
65  
66      /**
67       * Method write.
68       * 
69       * @param writer a writer object.
70       * @param pluginMetadata a pluginMetadata object.
71       * @throws java.io.IOException java.io.IOException if any.
72       */
73      public void write( Writer writer, PluginMetadata pluginMetadata )
74          throws java.io.IOException
75      {
76          XmlSerializer serializer = new MXSerializer();
77          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
78          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
79          serializer.setOutput( writer );
80          serializer.startDocument( pluginMetadata.getModelEncoding(), null );
81          writePluginMetadata( pluginMetadata, "pluginMetadata", serializer );
82          serializer.endDocument();
83      } //-- void write( Writer, PluginMetadata )
84  
85      /**
86       * Method write.
87       * 
88       * @param stream a stream object.
89       * @param pluginMetadata a pluginMetadata object.
90       * @throws java.io.IOException java.io.IOException if any.
91       */
92      public void write( OutputStream stream, PluginMetadata pluginMetadata )
93          throws java.io.IOException
94      {
95          XmlSerializer serializer = new MXSerializer();
96          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
97          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
98          serializer.setOutput( stream, pluginMetadata.getModelEncoding() );
99          serializer.startDocument( pluginMetadata.getModelEncoding(), null );
100         writePluginMetadata( pluginMetadata, "pluginMetadata", serializer );
101         serializer.endDocument();
102     } //-- void write( OutputStream, PluginMetadata )
103 
104     /**
105      * Method writeComponent.
106      * 
107      * @param component a component object.
108      * @param serializer a serializer object.
109      * @param tagName a tagName object.
110      * @throws java.io.IOException java.io.IOException if any.
111      */
112     private void writeComponent( Component component, String tagName, XmlSerializer serializer )
113         throws java.io.IOException
114     {
115         serializer.startTag( NAMESPACE, tagName );
116         if ( component.getRole() != null )
117         {
118             serializer.startTag( NAMESPACE, "role" ).text( component.getRole() ).endTag( NAMESPACE, "role" );
119         }
120         if ( component.getHint() != null )
121         {
122             serializer.startTag( NAMESPACE, "hint" ).text( component.getHint() ).endTag( NAMESPACE, "hint" );
123         }
124         serializer.endTag( NAMESPACE, tagName );
125     } //-- void writeComponent( Component, String, XmlSerializer )
126 
127     /**
128      * Method writeLifecycleExecution.
129      * 
130      * @param lifecycleExecution a lifecycleExecution object.
131      * @param serializer a serializer object.
132      * @param tagName a tagName object.
133      * @throws java.io.IOException java.io.IOException if any.
134      */
135     private void writeLifecycleExecution( LifecycleExecution lifecycleExecution, String tagName, XmlSerializer serializer )
136         throws java.io.IOException
137     {
138         serializer.startTag( NAMESPACE, tagName );
139         if ( lifecycleExecution.getLifecycle() != null )
140         {
141             serializer.startTag( NAMESPACE, "lifecycle" ).text( lifecycleExecution.getLifecycle() ).endTag( NAMESPACE, "lifecycle" );
142         }
143         if ( lifecycleExecution.getPhase() != null )
144         {
145             serializer.startTag( NAMESPACE, "phase" ).text( lifecycleExecution.getPhase() ).endTag( NAMESPACE, "phase" );
146         }
147         if ( lifecycleExecution.getGoal() != null )
148         {
149             serializer.startTag( NAMESPACE, "goal" ).text( lifecycleExecution.getGoal() ).endTag( NAMESPACE, "goal" );
150         }
151         serializer.endTag( NAMESPACE, tagName );
152     } //-- void writeLifecycleExecution( LifecycleExecution, String, XmlSerializer )
153 
154     /**
155      * Method writeMojo.
156      * 
157      * @param mojo a mojo object.
158      * @param serializer a serializer object.
159      * @param tagName a tagName object.
160      * @throws java.io.IOException java.io.IOException if any.
161      */
162     private void writeMojo( Mojo mojo, String tagName, XmlSerializer serializer )
163         throws java.io.IOException
164     {
165         serializer.startTag( NAMESPACE, tagName );
166         if ( mojo.getGoal() != null )
167         {
168             serializer.startTag( NAMESPACE, "goal" ).text( mojo.getGoal() ).endTag( NAMESPACE, "goal" );
169         }
170         if ( mojo.getPhase() != null )
171         {
172             serializer.startTag( NAMESPACE, "phase" ).text( mojo.getPhase() ).endTag( NAMESPACE, "phase" );
173         }
174         if ( mojo.isAggregator() != false )
175         {
176             serializer.startTag( NAMESPACE, "aggregator" ).text( String.valueOf( mojo.isAggregator() ) ).endTag( NAMESPACE, "aggregator" );
177         }
178         if ( mojo.getRequiresDependencyResolution() != null )
179         {
180             serializer.startTag( NAMESPACE, "requiresDependencyResolution" ).text( mojo.getRequiresDependencyResolution() ).endTag( NAMESPACE, "requiresDependencyResolution" );
181         }
182         if ( mojo.isRequiresProject() != false )
183         {
184             serializer.startTag( NAMESPACE, "requiresProject" ).text( String.valueOf( mojo.isRequiresProject() ) ).endTag( NAMESPACE, "requiresProject" );
185         }
186         if ( mojo.isRequiresReports() != false )
187         {
188             serializer.startTag( NAMESPACE, "requiresReports" ).text( String.valueOf( mojo.isRequiresReports() ) ).endTag( NAMESPACE, "requiresReports" );
189         }
190         if ( mojo.isRequiresOnline() != false )
191         {
192             serializer.startTag( NAMESPACE, "requiresOnline" ).text( String.valueOf( mojo.isRequiresOnline() ) ).endTag( NAMESPACE, "requiresOnline" );
193         }
194         if ( mojo.isInheritByDefault() != false )
195         {
196             serializer.startTag( NAMESPACE, "inheritByDefault" ).text( String.valueOf( mojo.isInheritByDefault() ) ).endTag( NAMESPACE, "inheritByDefault" );
197         }
198         if ( mojo.isRequiresDirectInvocation() != false )
199         {
200             serializer.startTag( NAMESPACE, "requiresDirectInvocation" ).text( String.valueOf( mojo.isRequiresDirectInvocation() ) ).endTag( NAMESPACE, "requiresDirectInvocation" );
201         }
202         if ( mojo.getExecution() != null )
203         {
204             writeLifecycleExecution( (LifecycleExecution) mojo.getExecution(), "execution", serializer );
205         }
206         if ( ( mojo.getComponents() != null ) && ( mojo.getComponents().size() > 0 ) )
207         {
208             serializer.startTag( NAMESPACE, "components" );
209             for ( Iterator iter = mojo.getComponents().iterator(); iter.hasNext(); )
210             {
211                 Component o = (Component) iter.next();
212                 writeComponent( o, "component", serializer );
213             }
214             serializer.endTag( NAMESPACE, "components" );
215         }
216         if ( ( mojo.getParameters() != null ) && ( mojo.getParameters().size() > 0 ) )
217         {
218             serializer.startTag( NAMESPACE, "parameters" );
219             for ( Iterator iter = mojo.getParameters().iterator(); iter.hasNext(); )
220             {
221                 Parameter o = (Parameter) iter.next();
222                 writeParameter( o, "parameter", serializer );
223             }
224             serializer.endTag( NAMESPACE, "parameters" );
225         }
226         if ( mojo.getDescription() != null )
227         {
228             serializer.startTag( NAMESPACE, "description" ).text( mojo.getDescription() ).endTag( NAMESPACE, "description" );
229         }
230         if ( mojo.getDeprecation() != null )
231         {
232             serializer.startTag( NAMESPACE, "deprecated" ).text( mojo.getDeprecation() ).endTag( NAMESPACE, "deprecated" );
233         }
234         if ( mojo.getSince() != null )
235         {
236             serializer.startTag( NAMESPACE, "since" ).text( mojo.getSince() ).endTag( NAMESPACE, "since" );
237         }
238         if ( mojo.getCall() != null )
239         {
240             serializer.startTag( NAMESPACE, "call" ).text( mojo.getCall() ).endTag( NAMESPACE, "call" );
241         }
242         serializer.endTag( NAMESPACE, tagName );
243     } //-- void writeMojo( Mojo, String, XmlSerializer )
244 
245     /**
246      * Method writeParameter.
247      * 
248      * @param parameter a parameter object.
249      * @param serializer a serializer object.
250      * @param tagName a tagName object.
251      * @throws java.io.IOException java.io.IOException if any.
252      */
253     private void writeParameter( Parameter parameter, String tagName, XmlSerializer serializer )
254         throws java.io.IOException
255     {
256         serializer.startTag( NAMESPACE, tagName );
257         if ( parameter.getName() != null )
258         {
259             serializer.startTag( NAMESPACE, "name" ).text( parameter.getName() ).endTag( NAMESPACE, "name" );
260         }
261         if ( parameter.getAlias() != null )
262         {
263             serializer.startTag( NAMESPACE, "alias" ).text( parameter.getAlias() ).endTag( NAMESPACE, "alias" );
264         }
265         if ( parameter.getProperty() != null )
266         {
267             serializer.startTag( NAMESPACE, "property" ).text( parameter.getProperty() ).endTag( NAMESPACE, "property" );
268         }
269         if ( parameter.isRequired() != false )
270         {
271             serializer.startTag( NAMESPACE, "required" ).text( String.valueOf( parameter.isRequired() ) ).endTag( NAMESPACE, "required" );
272         }
273         if ( parameter.isReadonly() != false )
274         {
275             serializer.startTag( NAMESPACE, "readonly" ).text( String.valueOf( parameter.isReadonly() ) ).endTag( NAMESPACE, "readonly" );
276         }
277         if ( parameter.getExpression() != null )
278         {
279             serializer.startTag( NAMESPACE, "expression" ).text( parameter.getExpression() ).endTag( NAMESPACE, "expression" );
280         }
281         if ( parameter.getDefaultValue() != null )
282         {
283             serializer.startTag( NAMESPACE, "defaultValue" ).text( parameter.getDefaultValue() ).endTag( NAMESPACE, "defaultValue" );
284         }
285         if ( parameter.getType() != null )
286         {
287             serializer.startTag( NAMESPACE, "type" ).text( parameter.getType() ).endTag( NAMESPACE, "type" );
288         }
289         if ( parameter.getDescription() != null )
290         {
291             serializer.startTag( NAMESPACE, "description" ).text( parameter.getDescription() ).endTag( NAMESPACE, "description" );
292         }
293         if ( parameter.getDeprecation() != null )
294         {
295             serializer.startTag( NAMESPACE, "deprecated" ).text( parameter.getDeprecation() ).endTag( NAMESPACE, "deprecated" );
296         }
297         if ( parameter.getSince() != null )
298         {
299             serializer.startTag( NAMESPACE, "since" ).text( parameter.getSince() ).endTag( NAMESPACE, "since" );
300         }
301         serializer.endTag( NAMESPACE, tagName );
302     } //-- void writeParameter( Parameter, String, XmlSerializer )
303 
304     /**
305      * Method writePluginMetadata.
306      * 
307      * @param pluginMetadata a pluginMetadata object.
308      * @param serializer a serializer object.
309      * @param tagName a tagName object.
310      * @throws java.io.IOException java.io.IOException if any.
311      */
312     private void writePluginMetadata( PluginMetadata pluginMetadata, String tagName, XmlSerializer serializer )
313         throws java.io.IOException
314     {
315         serializer.startTag( NAMESPACE, tagName );
316         if ( ( pluginMetadata.getMojos() != null ) && ( pluginMetadata.getMojos().size() > 0 ) )
317         {
318             serializer.startTag( NAMESPACE, "mojos" );
319             for ( Iterator iter = pluginMetadata.getMojos().iterator(); iter.hasNext(); )
320             {
321                 Mojo o = (Mojo) iter.next();
322                 writeMojo( o, "mojo", serializer );
323             }
324             serializer.endTag( NAMESPACE, "mojos" );
325         }
326         serializer.endTag( NAMESPACE, tagName );
327     } //-- void writePluginMetadata( PluginMetadata, String, XmlSerializer )
328 
329 }