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