View Javadoc

1   /*
2    =================== DO NOT EDIT THIS FILE ====================
3    Generated by Modello 1.4.1 on 2013-02-24 03:34:48,
4    any modifications will be overwritten.
5    ==============================================================
6    */
7   
8   package org.apache.maven.plugin.descriptor.model.io.xpp3;
9   
10    //---------------------------------/
11   //- Imported classes and packages -/
12  //---------------------------------/
13  
14  import java.io.OutputStream;
15  import java.io.Writer;
16  import java.text.DateFormat;
17  import java.util.Iterator;
18  import java.util.Locale;
19  import org.apache.maven.plugin.descriptor.model.Configuration;
20  import org.apache.maven.plugin.descriptor.model.Dependency;
21  import org.apache.maven.plugin.descriptor.model.MojoDescriptor;
22  import org.apache.maven.plugin.descriptor.model.Parameter;
23  import org.apache.maven.plugin.descriptor.model.PluginDescriptor;
24  import org.apache.maven.plugin.descriptor.model.Requirement;
25  import org.codehaus.plexus.util.xml.pull.MXSerializer;
26  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
27  
28  /**
29   * Class PluginDescriptorXpp3Writer.
30   * 
31   * @version $Revision$ $Date$
32   */
33  @SuppressWarnings( "all" )
34  public class PluginDescriptorXpp3Writer
35  {
36  
37        //--------------------------/
38       //- Class/Member Variables -/
39      //--------------------------/
40  
41      /**
42       * Field NAMESPACE.
43       */
44      private static final String NAMESPACE = null;
45  
46  
47        //-----------/
48       //- Methods -/
49      //-----------/
50  
51      /**
52       * Method write.
53       * 
54       * @param writer
55       * @param pluginDescriptor
56       * @throws java.io.IOException
57       */
58      public void write( Writer writer, PluginDescriptor pluginDescriptor )
59          throws java.io.IOException
60      {
61          XmlSerializer serializer = new MXSerializer();
62          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
63          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
64          serializer.setOutput( writer );
65          serializer.startDocument( pluginDescriptor.getModelEncoding(), null );
66          writePluginDescriptor( pluginDescriptor, "plugin", serializer );
67          serializer.endDocument();
68      } //-- void write( Writer, PluginDescriptor )
69  
70      /**
71       * Method write.
72       * 
73       * @param stream
74       * @param pluginDescriptor
75       * @throws java.io.IOException
76       */
77      public void write( OutputStream stream, PluginDescriptor pluginDescriptor )
78          throws java.io.IOException
79      {
80          XmlSerializer serializer = new MXSerializer();
81          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
82          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
83          serializer.setOutput( stream, pluginDescriptor.getModelEncoding() );
84          serializer.startDocument( pluginDescriptor.getModelEncoding(), null );
85          writePluginDescriptor( pluginDescriptor, "plugin", serializer );
86          serializer.endDocument();
87      } //-- void write( OutputStream, PluginDescriptor )
88  
89      /**
90       * Method writeConfiguration.
91       * 
92       * @param configuration
93       * @param serializer
94       * @param tagName
95       * @throws java.io.IOException
96       */
97      private void writeConfiguration( Configuration configuration, String tagName, XmlSerializer serializer )
98          throws java.io.IOException
99      {
100         serializer.startTag( NAMESPACE, tagName );
101         if ( configuration.getImplementation() != null )
102         {
103             serializer.attribute( NAMESPACE, "implementation", configuration.getImplementation() );
104         }
105         if ( configuration.getDefaultValue() != null )
106         {
107             serializer.attribute( NAMESPACE, "default-value", configuration.getDefaultValue() );
108         }
109         serializer.text( configuration.getExpression() );
110         serializer.endTag( NAMESPACE, tagName );
111     } //-- void writeConfiguration( Configuration, String, XmlSerializer )
112 
113     /**
114      * Method writeDependency.
115      * 
116      * @param dependency
117      * @param serializer
118      * @param tagName
119      * @throws java.io.IOException
120      */
121     private void writeDependency( Dependency dependency, String tagName, XmlSerializer serializer )
122         throws java.io.IOException
123     {
124         serializer.startTag( NAMESPACE, tagName );
125         if ( dependency.getGroupId() != null )
126         {
127             serializer.startTag( NAMESPACE, "groupId" ).text( dependency.getGroupId() ).endTag( NAMESPACE, "groupId" );
128         }
129         if ( dependency.getArtifactId() != null )
130         {
131             serializer.startTag( NAMESPACE, "artifactId" ).text( dependency.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
132         }
133         if ( dependency.getVersion() != null )
134         {
135             serializer.startTag( NAMESPACE, "version" ).text( dependency.getVersion() ).endTag( NAMESPACE, "version" );
136         }
137         if ( ( dependency.getType() != null ) && !dependency.getType().equals( "jar" ) )
138         {
139             serializer.startTag( NAMESPACE, "type" ).text( dependency.getType() ).endTag( NAMESPACE, "type" );
140         }
141         serializer.endTag( NAMESPACE, tagName );
142     } //-- void writeDependency( Dependency, String, XmlSerializer )
143 
144     /**
145      * Method writeMojoDescriptor.
146      * 
147      * @param mojoDescriptor
148      * @param serializer
149      * @param tagName
150      * @throws java.io.IOException
151      */
152     private void writeMojoDescriptor( MojoDescriptor mojoDescriptor, String tagName, XmlSerializer serializer )
153         throws java.io.IOException
154     {
155         serializer.startTag( NAMESPACE, tagName );
156         if ( mojoDescriptor.getGoal() != null )
157         {
158             serializer.startTag( NAMESPACE, "goal" ).text( mojoDescriptor.getGoal() ).endTag( NAMESPACE, "goal" );
159         }
160         if ( mojoDescriptor.getDescription() != null )
161         {
162             serializer.startTag( NAMESPACE, "description" ).text( mojoDescriptor.getDescription() ).endTag( NAMESPACE, "description" );
163         }
164         if ( mojoDescriptor.getImplementation() != null )
165         {
166             serializer.startTag( NAMESPACE, "implementation" ).text( mojoDescriptor.getImplementation() ).endTag( NAMESPACE, "implementation" );
167         }
168         if ( ( mojoDescriptor.getLanguage() != null ) && !mojoDescriptor.getLanguage().equals( "java" ) )
169         {
170             serializer.startTag( NAMESPACE, "language" ).text( mojoDescriptor.getLanguage() ).endTag( NAMESPACE, "language" );
171         }
172         if ( mojoDescriptor.getPhase() != null )
173         {
174             serializer.startTag( NAMESPACE, "phase" ).text( mojoDescriptor.getPhase() ).endTag( NAMESPACE, "phase" );
175         }
176         if ( mojoDescriptor.getExecutePhase() != null )
177         {
178             serializer.startTag( NAMESPACE, "executePhase" ).text( mojoDescriptor.getExecutePhase() ).endTag( NAMESPACE, "executePhase" );
179         }
180         if ( mojoDescriptor.getExecuteGoal() != null )
181         {
182             serializer.startTag( NAMESPACE, "executeGoal" ).text( mojoDescriptor.getExecuteGoal() ).endTag( NAMESPACE, "executeGoal" );
183         }
184         if ( mojoDescriptor.getExecuteLifecycle() != null )
185         {
186             serializer.startTag( NAMESPACE, "executeLifecycle" ).text( mojoDescriptor.getExecuteLifecycle() ).endTag( NAMESPACE, "executeLifecycle" );
187         }
188         if ( ( mojoDescriptor.getRequiresDependencyResolution() != null ) && !mojoDescriptor.getRequiresDependencyResolution().equals( "runtime" ) )
189         {
190             serializer.startTag( NAMESPACE, "requiresDependencyResolution" ).text( mojoDescriptor.getRequiresDependencyResolution() ).endTag( NAMESPACE, "requiresDependencyResolution" );
191         }
192         if ( mojoDescriptor.getRequiresDependencyCollection() != null )
193         {
194             serializer.startTag( NAMESPACE, "requiresDependencyCollection" ).text( mojoDescriptor.getRequiresDependencyCollection() ).endTag( NAMESPACE, "requiresDependencyCollection" );
195         }
196         if ( mojoDescriptor.isRequiresDirectInvocation() != false )
197         {
198             serializer.startTag( NAMESPACE, "requiresDirectInvocation" ).text( String.valueOf( mojoDescriptor.isRequiresDirectInvocation() ) ).endTag( NAMESPACE, "requiresDirectInvocation" );
199         }
200         if ( mojoDescriptor.isRequiresProject() != true )
201         {
202             serializer.startTag( NAMESPACE, "requiresProject" ).text( String.valueOf( mojoDescriptor.isRequiresProject() ) ).endTag( NAMESPACE, "requiresProject" );
203         }
204         if ( mojoDescriptor.isRequiresReports() != false )
205         {
206             serializer.startTag( NAMESPACE, "requiresReports" ).text( String.valueOf( mojoDescriptor.isRequiresReports() ) ).endTag( NAMESPACE, "requiresReports" );
207         }
208         if ( mojoDescriptor.isRequiresOnline() != false )
209         {
210             serializer.startTag( NAMESPACE, "requiresOnline" ).text( String.valueOf( mojoDescriptor.isRequiresOnline() ) ).endTag( NAMESPACE, "requiresOnline" );
211         }
212         if ( mojoDescriptor.isAggregator() != false )
213         {
214             serializer.startTag( NAMESPACE, "aggregator" ).text( String.valueOf( mojoDescriptor.isAggregator() ) ).endTag( NAMESPACE, "aggregator" );
215         }
216         if ( mojoDescriptor.isInheritedByDefault() != true )
217         {
218             serializer.startTag( NAMESPACE, "inheritedByDefault" ).text( String.valueOf( mojoDescriptor.isInheritedByDefault() ) ).endTag( NAMESPACE, "inheritedByDefault" );
219         }
220         if ( mojoDescriptor.isThreadSafe() != false )
221         {
222             serializer.startTag( NAMESPACE, "threadSafe" ).text( String.valueOf( mojoDescriptor.isThreadSafe() ) ).endTag( NAMESPACE, "threadSafe" );
223         }
224         if ( ( mojoDescriptor.getInstantiationStrategy() != null ) && !mojoDescriptor.getInstantiationStrategy().equals( "per-lookup" ) )
225         {
226             serializer.startTag( NAMESPACE, "instantiationStrategy" ).text( mojoDescriptor.getInstantiationStrategy() ).endTag( NAMESPACE, "instantiationStrategy" );
227         }
228         if ( mojoDescriptor.getExecutionStrategy() != null )
229         {
230             serializer.startTag( NAMESPACE, "executionStrategy" ).text( mojoDescriptor.getExecutionStrategy() ).endTag( NAMESPACE, "executionStrategy" );
231         }
232         if ( mojoDescriptor.getSince() != null )
233         {
234             serializer.startTag( NAMESPACE, "since" ).text( mojoDescriptor.getSince() ).endTag( NAMESPACE, "since" );
235         }
236         if ( mojoDescriptor.getDeprecated() != null )
237         {
238             serializer.startTag( NAMESPACE, "deprecated" ).text( mojoDescriptor.getDeprecated() ).endTag( NAMESPACE, "deprecated" );
239         }
240         if ( mojoDescriptor.getConfigurator() != null )
241         {
242             serializer.startTag( NAMESPACE, "configurator" ).text( mojoDescriptor.getConfigurator() ).endTag( NAMESPACE, "configurator" );
243         }
244         if ( mojoDescriptor.getComposer() != null )
245         {
246             serializer.startTag( NAMESPACE, "composer" ).text( mojoDescriptor.getComposer() ).endTag( NAMESPACE, "composer" );
247         }
248         if ( ( mojoDescriptor.getParameters() != null ) && ( mojoDescriptor.getParameters().size() > 0 ) )
249         {
250             serializer.startTag( NAMESPACE, "parameters" );
251             for ( Iterator iter = mojoDescriptor.getParameters().iterator(); iter.hasNext(); )
252             {
253                 Parameter o = (Parameter) iter.next();
254                 writeParameter( o, "parameter", serializer );
255             }
256             serializer.endTag( NAMESPACE, "parameters" );
257         }
258         if ( ( mojoDescriptor.getConfiguration() != null ) && ( mojoDescriptor.getConfiguration().size() > 0 ) )
259         {
260             serializer.startTag( NAMESPACE, "configuration" );
261             for ( Iterator iter = mojoDescriptor.getConfiguration().iterator(); iter.hasNext(); )
262             {
263                 Configuration o = (Configuration) iter.next();
264                 writeConfiguration( o, "paramName", serializer );
265             }
266             serializer.endTag( NAMESPACE, "configuration" );
267         }
268         if ( ( mojoDescriptor.getRequirements() != null ) && ( mojoDescriptor.getRequirements().size() > 0 ) )
269         {
270             serializer.startTag( NAMESPACE, "requirements" );
271             for ( Iterator iter = mojoDescriptor.getRequirements().iterator(); iter.hasNext(); )
272             {
273                 Requirement o = (Requirement) iter.next();
274                 writeRequirement( o, "requirement", serializer );
275             }
276             serializer.endTag( NAMESPACE, "requirements" );
277         }
278         serializer.endTag( NAMESPACE, tagName );
279     } //-- void writeMojoDescriptor( MojoDescriptor, String, XmlSerializer )
280 
281     /**
282      * Method writeParameter.
283      * 
284      * @param parameter
285      * @param serializer
286      * @param tagName
287      * @throws java.io.IOException
288      */
289     private void writeParameter( Parameter parameter, String tagName, XmlSerializer serializer )
290         throws java.io.IOException
291     {
292         serializer.startTag( NAMESPACE, tagName );
293         if ( parameter.getName() != null )
294         {
295             serializer.startTag( NAMESPACE, "name" ).text( parameter.getName() ).endTag( NAMESPACE, "name" );
296         }
297         if ( parameter.getAlias() != null )
298         {
299             serializer.startTag( NAMESPACE, "alias" ).text( parameter.getAlias() ).endTag( NAMESPACE, "alias" );
300         }
301         if ( parameter.getType() != null )
302         {
303             serializer.startTag( NAMESPACE, "type" ).text( parameter.getType() ).endTag( NAMESPACE, "type" );
304         }
305         if ( parameter.isRequired() != false )
306         {
307             serializer.startTag( NAMESPACE, "required" ).text( String.valueOf( parameter.isRequired() ) ).endTag( NAMESPACE, "required" );
308         }
309         if ( parameter.isEditable() != true )
310         {
311             serializer.startTag( NAMESPACE, "editable" ).text( String.valueOf( parameter.isEditable() ) ).endTag( NAMESPACE, "editable" );
312         }
313         if ( parameter.getImplementation() != null )
314         {
315             serializer.startTag( NAMESPACE, "implementation" ).text( parameter.getImplementation() ).endTag( NAMESPACE, "implementation" );
316         }
317         if ( parameter.getDescription() != null )
318         {
319             serializer.startTag( NAMESPACE, "description" ).text( parameter.getDescription() ).endTag( NAMESPACE, "description" );
320         }
321         if ( parameter.getSince() != null )
322         {
323             serializer.startTag( NAMESPACE, "since" ).text( parameter.getSince() ).endTag( NAMESPACE, "since" );
324         }
325         if ( parameter.getDeprecated() != null )
326         {
327             serializer.startTag( NAMESPACE, "deprecated" ).text( parameter.getDeprecated() ).endTag( NAMESPACE, "deprecated" );
328         }
329         serializer.endTag( NAMESPACE, tagName );
330     } //-- void writeParameter( Parameter, String, XmlSerializer )
331 
332     /**
333      * Method writePluginDescriptor.
334      * 
335      * @param pluginDescriptor
336      * @param serializer
337      * @param tagName
338      * @throws java.io.IOException
339      */
340     private void writePluginDescriptor( PluginDescriptor pluginDescriptor, String tagName, XmlSerializer serializer )
341         throws java.io.IOException
342     {
343         serializer.setPrefix( "", "http://maven.apache.org/PLUGIN/1.0.0" );
344         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
345         serializer.startTag( NAMESPACE, tagName );
346         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/PLUGIN/1.0.0 http://maven.apache.org/xsd/plugin-1.0.0.xsd" );
347         if ( pluginDescriptor.getDescription() != null )
348         {
349             serializer.startTag( NAMESPACE, "description" ).text( pluginDescriptor.getDescription() ).endTag( NAMESPACE, "description" );
350         }
351         if ( pluginDescriptor.getGroupId() != null )
352         {
353             serializer.startTag( NAMESPACE, "groupId" ).text( pluginDescriptor.getGroupId() ).endTag( NAMESPACE, "groupId" );
354         }
355         if ( pluginDescriptor.getArtifactId() != null )
356         {
357             serializer.startTag( NAMESPACE, "artifactId" ).text( pluginDescriptor.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
358         }
359         if ( pluginDescriptor.getVersion() != null )
360         {
361             serializer.startTag( NAMESPACE, "version" ).text( pluginDescriptor.getVersion() ).endTag( NAMESPACE, "version" );
362         }
363         if ( pluginDescriptor.getGoalPrefix() != null )
364         {
365             serializer.startTag( NAMESPACE, "goalPrefix" ).text( pluginDescriptor.getGoalPrefix() ).endTag( NAMESPACE, "goalPrefix" );
366         }
367         if ( pluginDescriptor.isIsolatedRealm() != false )
368         {
369             serializer.startTag( NAMESPACE, "isolatedRealm" ).text( String.valueOf( pluginDescriptor.isIsolatedRealm() ) ).endTag( NAMESPACE, "isolatedRealm" );
370         }
371         if ( pluginDescriptor.isInheritedByDefault() != true )
372         {
373             serializer.startTag( NAMESPACE, "inheritedByDefault" ).text( String.valueOf( pluginDescriptor.isInheritedByDefault() ) ).endTag( NAMESPACE, "inheritedByDefault" );
374         }
375         if ( ( pluginDescriptor.getMojos() != null ) && ( pluginDescriptor.getMojos().size() > 0 ) )
376         {
377             serializer.startTag( NAMESPACE, "mojos" );
378             for ( Iterator iter = pluginDescriptor.getMojos().iterator(); iter.hasNext(); )
379             {
380                 MojoDescriptor o = (MojoDescriptor) iter.next();
381                 writeMojoDescriptor( o, "mojo", serializer );
382             }
383             serializer.endTag( NAMESPACE, "mojos" );
384         }
385         if ( ( pluginDescriptor.getDependencies() != null ) && ( pluginDescriptor.getDependencies().size() > 0 ) )
386         {
387             serializer.startTag( NAMESPACE, "dependencies" );
388             for ( Iterator iter = pluginDescriptor.getDependencies().iterator(); iter.hasNext(); )
389             {
390                 Dependency o = (Dependency) iter.next();
391                 writeDependency( o, "dependency", serializer );
392             }
393             serializer.endTag( NAMESPACE, "dependencies" );
394         }
395         serializer.endTag( NAMESPACE, tagName );
396     } //-- void writePluginDescriptor( PluginDescriptor, String, XmlSerializer )
397 
398     /**
399      * Method writeRequirement.
400      * 
401      * @param requirement
402      * @param serializer
403      * @param tagName
404      * @throws java.io.IOException
405      */
406     private void writeRequirement( Requirement requirement, String tagName, XmlSerializer serializer )
407         throws java.io.IOException
408     {
409         serializer.startTag( NAMESPACE, tagName );
410         if ( requirement.getRole() != null )
411         {
412             serializer.startTag( NAMESPACE, "role" ).text( requirement.getRole() ).endTag( NAMESPACE, "role" );
413         }
414         if ( requirement.getRoleHint() != null )
415         {
416             serializer.startTag( NAMESPACE, "role-hint" ).text( requirement.getRoleHint() ).endTag( NAMESPACE, "role-hint" );
417         }
418         if ( requirement.getFieldName() != null )
419         {
420             serializer.startTag( NAMESPACE, "field-name" ).text( requirement.getFieldName() ).endTag( NAMESPACE, "field-name" );
421         }
422         serializer.endTag( NAMESPACE, tagName );
423     } //-- void writeRequirement( Requirement, String, XmlSerializer )
424 
425 }