View Javadoc
1   // =================== DO NOT EDIT THIS FILE ====================
2   // Generated by Modello 2.0.0,
3   // any modifications will be overwritten.
4   // ==============================================================
5   
6   package org.apache.maven.plugins.assembly.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.plugins.assembly.model.Component;
16  import org.apache.maven.plugins.assembly.model.ContainerDescriptorHandlerConfig;
17  import org.apache.maven.plugins.assembly.model.DependencySet;
18  import org.apache.maven.plugins.assembly.model.FileItem;
19  import org.apache.maven.plugins.assembly.model.FileSet;
20  import org.apache.maven.plugins.assembly.model.GroupVersionAlignment;
21  import org.apache.maven.plugins.assembly.model.ModuleBinaries;
22  import org.apache.maven.plugins.assembly.model.ModuleSet;
23  import org.apache.maven.plugins.assembly.model.ModuleSources;
24  import org.apache.maven.plugins.assembly.model.Repository;
25  import org.apache.maven.plugins.assembly.model.UnpackOptions;
26  import org.codehaus.plexus.util.xml.Xpp3Dom;
27  import org.codehaus.plexus.util.xml.pull.MXSerializer;
28  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
29  
30  /**
31   * Class ComponentXpp3Writer.
32   * 
33   * @version $Revision$ $Date$
34   */
35  @SuppressWarnings( "all" )
36  public class ComponentXpp3Writer
37  {
38  
39        //--------------------------/
40       //- Class/Member Variables -/
41      //--------------------------/
42  
43      /**
44       * Field NAMESPACE.
45       */
46      private static final String NAMESPACE = null;
47  
48      /**
49       * Field fileComment.
50       */
51      private String fileComment = null;
52  
53  
54        //-----------/
55       //- Methods -/
56      //-----------/
57  
58      /**
59       * Method setFileComment.
60       * 
61       * @param fileComment a fileComment object.
62       */
63      public void setFileComment( String fileComment )
64      {
65          this.fileComment = fileComment;
66      } //-- void setFileComment( String )
67  
68      /**
69       * Method write.
70       * 
71       * @param writer a writer object.
72       * @param component a component object.
73       * @throws java.io.IOException java.io.IOException if any.
74       */
75      public void write( Writer writer, Component component )
76          throws java.io.IOException
77      {
78          XmlSerializer serializer = new MXSerializer();
79          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
80          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
81          serializer.setOutput( writer );
82          serializer.startDocument( component.getModelEncoding(), null );
83          writeComponent( component, "component", serializer );
84          serializer.endDocument();
85      } //-- void write( Writer, Component )
86  
87      /**
88       * Method write.
89       * 
90       * @param stream a stream object.
91       * @param component a component object.
92       * @throws java.io.IOException java.io.IOException if any.
93       */
94      public void write( OutputStream stream, Component component )
95          throws java.io.IOException
96      {
97          XmlSerializer serializer = new MXSerializer();
98          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
99          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
100         serializer.setOutput( stream, component.getModelEncoding() );
101         serializer.startDocument( component.getModelEncoding(), null );
102         writeComponent( component, "component", serializer );
103         serializer.endDocument();
104     } //-- void write( OutputStream, Component )
105 
106     /**
107      * Method writeComponent.
108      * 
109      * @param component a component object.
110      * @param serializer a serializer object.
111      * @param tagName a tagName object.
112      * @throws java.io.IOException java.io.IOException if any.
113      */
114     private void writeComponent( Component component, String tagName, XmlSerializer serializer )
115         throws java.io.IOException
116     {
117         if ( this.fileComment != null )
118         {
119         serializer.comment(this.fileComment);
120         }
121         serializer.setPrefix( "", "http://maven.apache.org/ASSEMBLY-COMPONENT/2.1.1" );
122         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
123         serializer.startTag( NAMESPACE, tagName );
124         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/ASSEMBLY-COMPONENT/2.1.1 http://maven.apache.org/xsd/assembly-component-2.1.1.xsd" );
125         if ( ( component.getModuleSets() != null ) && ( component.getModuleSets().size() > 0 ) )
126         {
127             serializer.startTag( NAMESPACE, "moduleSets" );
128             for ( Iterator iter = component.getModuleSets().iterator(); iter.hasNext(); )
129             {
130                 ModuleSet o = (ModuleSet) iter.next();
131                 writeModuleSet( o, "moduleSet", serializer );
132             }
133             serializer.endTag( NAMESPACE, "moduleSets" );
134         }
135         if ( ( component.getFileSets() != null ) && ( component.getFileSets().size() > 0 ) )
136         {
137             serializer.startTag( NAMESPACE, "fileSets" );
138             for ( Iterator iter = component.getFileSets().iterator(); iter.hasNext(); )
139             {
140                 FileSet o = (FileSet) iter.next();
141                 writeFileSet( o, "fileSet", serializer );
142             }
143             serializer.endTag( NAMESPACE, "fileSets" );
144         }
145         if ( ( component.getFiles() != null ) && ( component.getFiles().size() > 0 ) )
146         {
147             serializer.startTag( NAMESPACE, "files" );
148             for ( Iterator iter = component.getFiles().iterator(); iter.hasNext(); )
149             {
150                 FileItem o = (FileItem) iter.next();
151                 writeFileItem( o, "file", serializer );
152             }
153             serializer.endTag( NAMESPACE, "files" );
154         }
155         if ( ( component.getDependencySets() != null ) && ( component.getDependencySets().size() > 0 ) )
156         {
157             serializer.startTag( NAMESPACE, "dependencySets" );
158             for ( Iterator iter = component.getDependencySets().iterator(); iter.hasNext(); )
159             {
160                 DependencySet o = (DependencySet) iter.next();
161                 writeDependencySet( o, "dependencySet", serializer );
162             }
163             serializer.endTag( NAMESPACE, "dependencySets" );
164         }
165         if ( ( component.getRepositories() != null ) && ( component.getRepositories().size() > 0 ) )
166         {
167             serializer.startTag( NAMESPACE, "repositories" );
168             for ( Iterator iter = component.getRepositories().iterator(); iter.hasNext(); )
169             {
170                 Repository o = (Repository) iter.next();
171                 writeRepository( o, "repository", serializer );
172             }
173             serializer.endTag( NAMESPACE, "repositories" );
174         }
175         if ( ( component.getContainerDescriptorHandlers() != null ) && ( component.getContainerDescriptorHandlers().size() > 0 ) )
176         {
177             serializer.startTag( NAMESPACE, "containerDescriptorHandlers" );
178             for ( Iterator iter = component.getContainerDescriptorHandlers().iterator(); iter.hasNext(); )
179             {
180                 ContainerDescriptorHandlerConfig o = (ContainerDescriptorHandlerConfig) iter.next();
181                 writeContainerDescriptorHandlerConfig( o, "containerDescriptorHandler", serializer );
182             }
183             serializer.endTag( NAMESPACE, "containerDescriptorHandlers" );
184         }
185         serializer.endTag( NAMESPACE, tagName );
186     } //-- void writeComponent( Component, String, XmlSerializer )
187 
188     /**
189      * Method writeContainerDescriptorHandlerConfig.
190      * 
191      * @param containerDescriptorHandlerConfig a
192      * containerDescriptorHandlerConfig object.
193      * @param serializer a serializer object.
194      * @param tagName a tagName object.
195      * @throws java.io.IOException java.io.IOException if any.
196      */
197     private void writeContainerDescriptorHandlerConfig( ContainerDescriptorHandlerConfig containerDescriptorHandlerConfig, String tagName, XmlSerializer serializer )
198         throws java.io.IOException
199     {
200         serializer.startTag( NAMESPACE, tagName );
201         if ( containerDescriptorHandlerConfig.getHandlerName() != null )
202         {
203             serializer.startTag( NAMESPACE, "handlerName" ).text( containerDescriptorHandlerConfig.getHandlerName() ).endTag( NAMESPACE, "handlerName" );
204         }
205         if ( containerDescriptorHandlerConfig.getConfiguration() != null )
206         {
207             ((Xpp3Dom) containerDescriptorHandlerConfig.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
208         }
209         serializer.endTag( NAMESPACE, tagName );
210     } //-- void writeContainerDescriptorHandlerConfig( ContainerDescriptorHandlerConfig, String, XmlSerializer )
211 
212     /**
213      * Method writeDependencySet.
214      * 
215      * @param dependencySet a dependencySet object.
216      * @param serializer a serializer object.
217      * @param tagName a tagName object.
218      * @throws java.io.IOException java.io.IOException if any.
219      */
220     private void writeDependencySet( DependencySet dependencySet, String tagName, XmlSerializer serializer )
221         throws java.io.IOException
222     {
223         serializer.startTag( NAMESPACE, tagName );
224         if ( dependencySet.getOutputDirectory() != null )
225         {
226             serializer.startTag( NAMESPACE, "outputDirectory" ).text( dependencySet.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
227         }
228         if ( ( dependencySet.getIncludes() != null ) && ( dependencySet.getIncludes().size() > 0 ) )
229         {
230             serializer.startTag( NAMESPACE, "includes" );
231             for ( Iterator iter = dependencySet.getIncludes().iterator(); iter.hasNext(); )
232             {
233                 String include = (String) iter.next();
234                 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
235             }
236             serializer.endTag( NAMESPACE, "includes" );
237         }
238         if ( ( dependencySet.getExcludes() != null ) && ( dependencySet.getExcludes().size() > 0 ) )
239         {
240             serializer.startTag( NAMESPACE, "excludes" );
241             for ( Iterator iter = dependencySet.getExcludes().iterator(); iter.hasNext(); )
242             {
243                 String exclude = (String) iter.next();
244                 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
245             }
246             serializer.endTag( NAMESPACE, "excludes" );
247         }
248         if ( dependencySet.getFileMode() != null )
249         {
250             serializer.startTag( NAMESPACE, "fileMode" ).text( dependencySet.getFileMode() ).endTag( NAMESPACE, "fileMode" );
251         }
252         if ( dependencySet.getDirectoryMode() != null )
253         {
254             serializer.startTag( NAMESPACE, "directoryMode" ).text( dependencySet.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
255         }
256         if ( dependencySet.isUseStrictFiltering() != false )
257         {
258             serializer.startTag( NAMESPACE, "useStrictFiltering" ).text( String.valueOf( dependencySet.isUseStrictFiltering() ) ).endTag( NAMESPACE, "useStrictFiltering" );
259         }
260         if ( ( dependencySet.getOutputFileNameMapping() != null ) && !dependencySet.getOutputFileNameMapping().equals( "${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}" ) )
261         {
262             serializer.startTag( NAMESPACE, "outputFileNameMapping" ).text( dependencySet.getOutputFileNameMapping() ).endTag( NAMESPACE, "outputFileNameMapping" );
263         }
264         if ( dependencySet.isUnpack() != false )
265         {
266             serializer.startTag( NAMESPACE, "unpack" ).text( String.valueOf( dependencySet.isUnpack() ) ).endTag( NAMESPACE, "unpack" );
267         }
268         if ( dependencySet.getUnpackOptions() != null )
269         {
270             writeUnpackOptions( (UnpackOptions) dependencySet.getUnpackOptions(), "unpackOptions", serializer );
271         }
272         if ( ( dependencySet.getScope() != null ) && !dependencySet.getScope().equals( "runtime" ) )
273         {
274             serializer.startTag( NAMESPACE, "scope" ).text( dependencySet.getScope() ).endTag( NAMESPACE, "scope" );
275         }
276         if ( dependencySet.isUseProjectArtifact() != true )
277         {
278             serializer.startTag( NAMESPACE, "useProjectArtifact" ).text( String.valueOf( dependencySet.isUseProjectArtifact() ) ).endTag( NAMESPACE, "useProjectArtifact" );
279         }
280         if ( dependencySet.isUseProjectAttachments() != false )
281         {
282             serializer.startTag( NAMESPACE, "useProjectAttachments" ).text( String.valueOf( dependencySet.isUseProjectAttachments() ) ).endTag( NAMESPACE, "useProjectAttachments" );
283         }
284         if ( dependencySet.isUseTransitiveDependencies() != true )
285         {
286             serializer.startTag( NAMESPACE, "useTransitiveDependencies" ).text( String.valueOf( dependencySet.isUseTransitiveDependencies() ) ).endTag( NAMESPACE, "useTransitiveDependencies" );
287         }
288         if ( dependencySet.isUseTransitiveFiltering() != false )
289         {
290             serializer.startTag( NAMESPACE, "useTransitiveFiltering" ).text( String.valueOf( dependencySet.isUseTransitiveFiltering() ) ).endTag( NAMESPACE, "useTransitiveFiltering" );
291         }
292         serializer.endTag( NAMESPACE, tagName );
293     } //-- void writeDependencySet( DependencySet, String, XmlSerializer )
294 
295     /**
296      * Method writeFileItem.
297      * 
298      * @param fileItem a fileItem object.
299      * @param serializer a serializer object.
300      * @param tagName a tagName object.
301      * @throws java.io.IOException java.io.IOException if any.
302      */
303     private void writeFileItem( FileItem fileItem, String tagName, XmlSerializer serializer )
304         throws java.io.IOException
305     {
306         serializer.startTag( NAMESPACE, tagName );
307         if ( fileItem.getSource() != null )
308         {
309             serializer.startTag( NAMESPACE, "source" ).text( fileItem.getSource() ).endTag( NAMESPACE, "source" );
310         }
311         if ( ( fileItem.getSources() != null ) && ( fileItem.getSources().size() > 0 ) )
312         {
313             serializer.startTag( NAMESPACE, "sources" );
314             for ( Iterator iter = fileItem.getSources().iterator(); iter.hasNext(); )
315             {
316                 String source = (String) iter.next();
317                 serializer.startTag( NAMESPACE, "source" ).text( source ).endTag( NAMESPACE, "source" );
318             }
319             serializer.endTag( NAMESPACE, "sources" );
320         }
321         if ( fileItem.getOutputDirectory() != null )
322         {
323             serializer.startTag( NAMESPACE, "outputDirectory" ).text( fileItem.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
324         }
325         if ( fileItem.getDestName() != null )
326         {
327             serializer.startTag( NAMESPACE, "destName" ).text( fileItem.getDestName() ).endTag( NAMESPACE, "destName" );
328         }
329         if ( fileItem.getFileMode() != null )
330         {
331             serializer.startTag( NAMESPACE, "fileMode" ).text( fileItem.getFileMode() ).endTag( NAMESPACE, "fileMode" );
332         }
333         if ( fileItem.getLineEnding() != null )
334         {
335             serializer.startTag( NAMESPACE, "lineEnding" ).text( fileItem.getLineEnding() ).endTag( NAMESPACE, "lineEnding" );
336         }
337         if ( fileItem.isFiltered() != false )
338         {
339             serializer.startTag( NAMESPACE, "filtered" ).text( String.valueOf( fileItem.isFiltered() ) ).endTag( NAMESPACE, "filtered" );
340         }
341         serializer.endTag( NAMESPACE, tagName );
342     } //-- void writeFileItem( FileItem, String, XmlSerializer )
343 
344     /**
345      * Method writeFileSet.
346      * 
347      * @param fileSet a fileSet object.
348      * @param serializer a serializer object.
349      * @param tagName a tagName object.
350      * @throws java.io.IOException java.io.IOException if any.
351      */
352     private void writeFileSet( FileSet fileSet, String tagName, XmlSerializer serializer )
353         throws java.io.IOException
354     {
355         serializer.startTag( NAMESPACE, tagName );
356         if ( fileSet.isUseDefaultExcludes() != true )
357         {
358             serializer.startTag( NAMESPACE, "useDefaultExcludes" ).text( String.valueOf( fileSet.isUseDefaultExcludes() ) ).endTag( NAMESPACE, "useDefaultExcludes" );
359         }
360         if ( fileSet.getOutputDirectory() != null )
361         {
362             serializer.startTag( NAMESPACE, "outputDirectory" ).text( fileSet.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
363         }
364         if ( ( fileSet.getIncludes() != null ) && ( fileSet.getIncludes().size() > 0 ) )
365         {
366             serializer.startTag( NAMESPACE, "includes" );
367             for ( Iterator iter = fileSet.getIncludes().iterator(); iter.hasNext(); )
368             {
369                 String include = (String) iter.next();
370                 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
371             }
372             serializer.endTag( NAMESPACE, "includes" );
373         }
374         if ( ( fileSet.getExcludes() != null ) && ( fileSet.getExcludes().size() > 0 ) )
375         {
376             serializer.startTag( NAMESPACE, "excludes" );
377             for ( Iterator iter = fileSet.getExcludes().iterator(); iter.hasNext(); )
378             {
379                 String exclude = (String) iter.next();
380                 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
381             }
382             serializer.endTag( NAMESPACE, "excludes" );
383         }
384         if ( fileSet.getFileMode() != null )
385         {
386             serializer.startTag( NAMESPACE, "fileMode" ).text( fileSet.getFileMode() ).endTag( NAMESPACE, "fileMode" );
387         }
388         if ( fileSet.getDirectoryMode() != null )
389         {
390             serializer.startTag( NAMESPACE, "directoryMode" ).text( fileSet.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
391         }
392         if ( fileSet.getDirectory() != null )
393         {
394             serializer.startTag( NAMESPACE, "directory" ).text( fileSet.getDirectory() ).endTag( NAMESPACE, "directory" );
395         }
396         if ( fileSet.getLineEnding() != null )
397         {
398             serializer.startTag( NAMESPACE, "lineEnding" ).text( fileSet.getLineEnding() ).endTag( NAMESPACE, "lineEnding" );
399         }
400         if ( fileSet.isFiltered() != false )
401         {
402             serializer.startTag( NAMESPACE, "filtered" ).text( String.valueOf( fileSet.isFiltered() ) ).endTag( NAMESPACE, "filtered" );
403         }
404         if ( ( fileSet.getNonFilteredFileExtensions() != null ) && ( fileSet.getNonFilteredFileExtensions().size() > 0 ) )
405         {
406             serializer.startTag( NAMESPACE, "nonFilteredFileExtensions" );
407             for ( Iterator iter = fileSet.getNonFilteredFileExtensions().iterator(); iter.hasNext(); )
408             {
409                 String nonFilteredFileExtension = (String) iter.next();
410                 serializer.startTag( NAMESPACE, "nonFilteredFileExtension" ).text( nonFilteredFileExtension ).endTag( NAMESPACE, "nonFilteredFileExtension" );
411             }
412             serializer.endTag( NAMESPACE, "nonFilteredFileExtensions" );
413         }
414         serializer.endTag( NAMESPACE, tagName );
415     } //-- void writeFileSet( FileSet, String, XmlSerializer )
416 
417     /**
418      * Method writeGroupVersionAlignment.
419      * 
420      * @param groupVersionAlignment a groupVersionAlignment object.
421      * @param serializer a serializer object.
422      * @param tagName a tagName object.
423      * @throws java.io.IOException java.io.IOException if any.
424      */
425     private void writeGroupVersionAlignment( GroupVersionAlignment groupVersionAlignment, String tagName, XmlSerializer serializer )
426         throws java.io.IOException
427     {
428         serializer.startTag( NAMESPACE, tagName );
429         if ( groupVersionAlignment.getId() != null )
430         {
431             serializer.startTag( NAMESPACE, "id" ).text( groupVersionAlignment.getId() ).endTag( NAMESPACE, "id" );
432         }
433         if ( groupVersionAlignment.getVersion() != null )
434         {
435             serializer.startTag( NAMESPACE, "version" ).text( groupVersionAlignment.getVersion() ).endTag( NAMESPACE, "version" );
436         }
437         if ( ( groupVersionAlignment.getExcludes() != null ) && ( groupVersionAlignment.getExcludes().size() > 0 ) )
438         {
439             serializer.startTag( NAMESPACE, "excludes" );
440             for ( Iterator iter = groupVersionAlignment.getExcludes().iterator(); iter.hasNext(); )
441             {
442                 String exclude = (String) iter.next();
443                 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
444             }
445             serializer.endTag( NAMESPACE, "excludes" );
446         }
447         serializer.endTag( NAMESPACE, tagName );
448     } //-- void writeGroupVersionAlignment( GroupVersionAlignment, String, XmlSerializer )
449 
450     /**
451      * Method writeModuleBinaries.
452      * 
453      * @param moduleBinaries a moduleBinaries object.
454      * @param serializer a serializer object.
455      * @param tagName a tagName object.
456      * @throws java.io.IOException java.io.IOException if any.
457      */
458     private void writeModuleBinaries( ModuleBinaries moduleBinaries, String tagName, XmlSerializer serializer )
459         throws java.io.IOException
460     {
461         serializer.startTag( NAMESPACE, tagName );
462         if ( moduleBinaries.getOutputDirectory() != null )
463         {
464             serializer.startTag( NAMESPACE, "outputDirectory" ).text( moduleBinaries.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
465         }
466         if ( ( moduleBinaries.getIncludes() != null ) && ( moduleBinaries.getIncludes().size() > 0 ) )
467         {
468             serializer.startTag( NAMESPACE, "includes" );
469             for ( Iterator iter = moduleBinaries.getIncludes().iterator(); iter.hasNext(); )
470             {
471                 String include = (String) iter.next();
472                 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
473             }
474             serializer.endTag( NAMESPACE, "includes" );
475         }
476         if ( ( moduleBinaries.getExcludes() != null ) && ( moduleBinaries.getExcludes().size() > 0 ) )
477         {
478             serializer.startTag( NAMESPACE, "excludes" );
479             for ( Iterator iter = moduleBinaries.getExcludes().iterator(); iter.hasNext(); )
480             {
481                 String exclude = (String) iter.next();
482                 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
483             }
484             serializer.endTag( NAMESPACE, "excludes" );
485         }
486         if ( moduleBinaries.getFileMode() != null )
487         {
488             serializer.startTag( NAMESPACE, "fileMode" ).text( moduleBinaries.getFileMode() ).endTag( NAMESPACE, "fileMode" );
489         }
490         if ( moduleBinaries.getDirectoryMode() != null )
491         {
492             serializer.startTag( NAMESPACE, "directoryMode" ).text( moduleBinaries.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
493         }
494         if ( moduleBinaries.getAttachmentClassifier() != null )
495         {
496             serializer.startTag( NAMESPACE, "attachmentClassifier" ).text( moduleBinaries.getAttachmentClassifier() ).endTag( NAMESPACE, "attachmentClassifier" );
497         }
498         if ( moduleBinaries.isIncludeDependencies() != true )
499         {
500             serializer.startTag( NAMESPACE, "includeDependencies" ).text( String.valueOf( moduleBinaries.isIncludeDependencies() ) ).endTag( NAMESPACE, "includeDependencies" );
501         }
502         if ( ( moduleBinaries.getDependencySets() != null ) && ( moduleBinaries.getDependencySets().size() > 0 ) )
503         {
504             serializer.startTag( NAMESPACE, "dependencySets" );
505             for ( Iterator iter = moduleBinaries.getDependencySets().iterator(); iter.hasNext(); )
506             {
507                 DependencySet o = (DependencySet) iter.next();
508                 writeDependencySet( o, "dependencySet", serializer );
509             }
510             serializer.endTag( NAMESPACE, "dependencySets" );
511         }
512         if ( moduleBinaries.isUnpack() != true )
513         {
514             serializer.startTag( NAMESPACE, "unpack" ).text( String.valueOf( moduleBinaries.isUnpack() ) ).endTag( NAMESPACE, "unpack" );
515         }
516         if ( moduleBinaries.getUnpackOptions() != null )
517         {
518             writeUnpackOptions( (UnpackOptions) moduleBinaries.getUnpackOptions(), "unpackOptions", serializer );
519         }
520         if ( ( moduleBinaries.getOutputFileNameMapping() != null ) && !moduleBinaries.getOutputFileNameMapping().equals( "${module.artifactId}-${module.version}${dashClassifier?}.${module.extension}" ) )
521         {
522             serializer.startTag( NAMESPACE, "outputFileNameMapping" ).text( moduleBinaries.getOutputFileNameMapping() ).endTag( NAMESPACE, "outputFileNameMapping" );
523         }
524         serializer.endTag( NAMESPACE, tagName );
525     } //-- void writeModuleBinaries( ModuleBinaries, String, XmlSerializer )
526 
527     /**
528      * Method writeModuleSet.
529      * 
530      * @param moduleSet a moduleSet object.
531      * @param serializer a serializer object.
532      * @param tagName a tagName object.
533      * @throws java.io.IOException java.io.IOException if any.
534      */
535     private void writeModuleSet( ModuleSet moduleSet, String tagName, XmlSerializer serializer )
536         throws java.io.IOException
537     {
538         serializer.startTag( NAMESPACE, tagName );
539         if ( moduleSet.isUseAllReactorProjects() != false )
540         {
541             serializer.startTag( NAMESPACE, "useAllReactorProjects" ).text( String.valueOf( moduleSet.isUseAllReactorProjects() ) ).endTag( NAMESPACE, "useAllReactorProjects" );
542         }
543         if ( moduleSet.isIncludeSubModules() != true )
544         {
545             serializer.startTag( NAMESPACE, "includeSubModules" ).text( String.valueOf( moduleSet.isIncludeSubModules() ) ).endTag( NAMESPACE, "includeSubModules" );
546         }
547         if ( ( moduleSet.getIncludes() != null ) && ( moduleSet.getIncludes().size() > 0 ) )
548         {
549             serializer.startTag( NAMESPACE, "includes" );
550             for ( Iterator iter = moduleSet.getIncludes().iterator(); iter.hasNext(); )
551             {
552                 String include = (String) iter.next();
553                 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
554             }
555             serializer.endTag( NAMESPACE, "includes" );
556         }
557         if ( ( moduleSet.getExcludes() != null ) && ( moduleSet.getExcludes().size() > 0 ) )
558         {
559             serializer.startTag( NAMESPACE, "excludes" );
560             for ( Iterator iter = moduleSet.getExcludes().iterator(); iter.hasNext(); )
561             {
562                 String exclude = (String) iter.next();
563                 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
564             }
565             serializer.endTag( NAMESPACE, "excludes" );
566         }
567         if ( moduleSet.getSources() != null )
568         {
569             writeModuleSources( (ModuleSources) moduleSet.getSources(), "sources", serializer );
570         }
571         if ( moduleSet.getBinaries() != null )
572         {
573             writeModuleBinaries( (ModuleBinaries) moduleSet.getBinaries(), "binaries", serializer );
574         }
575         serializer.endTag( NAMESPACE, tagName );
576     } //-- void writeModuleSet( ModuleSet, String, XmlSerializer )
577 
578     /**
579      * Method writeModuleSources.
580      * 
581      * @param moduleSources a moduleSources object.
582      * @param serializer a serializer object.
583      * @param tagName a tagName object.
584      * @throws java.io.IOException java.io.IOException if any.
585      */
586     private void writeModuleSources( ModuleSources moduleSources, String tagName, XmlSerializer serializer )
587         throws java.io.IOException
588     {
589         serializer.startTag( NAMESPACE, tagName );
590         if ( moduleSources.isUseDefaultExcludes() != true )
591         {
592             serializer.startTag( NAMESPACE, "useDefaultExcludes" ).text( String.valueOf( moduleSources.isUseDefaultExcludes() ) ).endTag( NAMESPACE, "useDefaultExcludes" );
593         }
594         if ( moduleSources.getOutputDirectory() != null )
595         {
596             serializer.startTag( NAMESPACE, "outputDirectory" ).text( moduleSources.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
597         }
598         if ( ( moduleSources.getIncludes() != null ) && ( moduleSources.getIncludes().size() > 0 ) )
599         {
600             serializer.startTag( NAMESPACE, "includes" );
601             for ( Iterator iter = moduleSources.getIncludes().iterator(); iter.hasNext(); )
602             {
603                 String include = (String) iter.next();
604                 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
605             }
606             serializer.endTag( NAMESPACE, "includes" );
607         }
608         if ( ( moduleSources.getExcludes() != null ) && ( moduleSources.getExcludes().size() > 0 ) )
609         {
610             serializer.startTag( NAMESPACE, "excludes" );
611             for ( Iterator iter = moduleSources.getExcludes().iterator(); iter.hasNext(); )
612             {
613                 String exclude = (String) iter.next();
614                 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
615             }
616             serializer.endTag( NAMESPACE, "excludes" );
617         }
618         if ( moduleSources.getFileMode() != null )
619         {
620             serializer.startTag( NAMESPACE, "fileMode" ).text( moduleSources.getFileMode() ).endTag( NAMESPACE, "fileMode" );
621         }
622         if ( moduleSources.getDirectoryMode() != null )
623         {
624             serializer.startTag( NAMESPACE, "directoryMode" ).text( moduleSources.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
625         }
626         if ( ( moduleSources.getFileSets() != null ) && ( moduleSources.getFileSets().size() > 0 ) )
627         {
628             serializer.startTag( NAMESPACE, "fileSets" );
629             for ( Iterator iter = moduleSources.getFileSets().iterator(); iter.hasNext(); )
630             {
631                 FileSet o = (FileSet) iter.next();
632                 writeFileSet( o, "fileSet", serializer );
633             }
634             serializer.endTag( NAMESPACE, "fileSets" );
635         }
636         if ( moduleSources.isIncludeModuleDirectory() != true )
637         {
638             serializer.startTag( NAMESPACE, "includeModuleDirectory" ).text( String.valueOf( moduleSources.isIncludeModuleDirectory() ) ).endTag( NAMESPACE, "includeModuleDirectory" );
639         }
640         if ( moduleSources.isExcludeSubModuleDirectories() != true )
641         {
642             serializer.startTag( NAMESPACE, "excludeSubModuleDirectories" ).text( String.valueOf( moduleSources.isExcludeSubModuleDirectories() ) ).endTag( NAMESPACE, "excludeSubModuleDirectories" );
643         }
644         if ( ( moduleSources.getOutputDirectoryMapping() != null ) && !moduleSources.getOutputDirectoryMapping().equals( "${module.artifactId}" ) )
645         {
646             serializer.startTag( NAMESPACE, "outputDirectoryMapping" ).text( moduleSources.getOutputDirectoryMapping() ).endTag( NAMESPACE, "outputDirectoryMapping" );
647         }
648         serializer.endTag( NAMESPACE, tagName );
649     } //-- void writeModuleSources( ModuleSources, String, XmlSerializer )
650 
651     /**
652      * Method writeRepository.
653      * 
654      * @param repository a repository object.
655      * @param serializer a serializer object.
656      * @param tagName a tagName object.
657      * @throws java.io.IOException java.io.IOException if any.
658      */
659     private void writeRepository( Repository repository, String tagName, XmlSerializer serializer )
660         throws java.io.IOException
661     {
662         serializer.startTag( NAMESPACE, tagName );
663         if ( repository.getOutputDirectory() != null )
664         {
665             serializer.startTag( NAMESPACE, "outputDirectory" ).text( repository.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
666         }
667         if ( ( repository.getIncludes() != null ) && ( repository.getIncludes().size() > 0 ) )
668         {
669             serializer.startTag( NAMESPACE, "includes" );
670             for ( Iterator iter = repository.getIncludes().iterator(); iter.hasNext(); )
671             {
672                 String include = (String) iter.next();
673                 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
674             }
675             serializer.endTag( NAMESPACE, "includes" );
676         }
677         if ( ( repository.getExcludes() != null ) && ( repository.getExcludes().size() > 0 ) )
678         {
679             serializer.startTag( NAMESPACE, "excludes" );
680             for ( Iterator iter = repository.getExcludes().iterator(); iter.hasNext(); )
681             {
682                 String exclude = (String) iter.next();
683                 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
684             }
685             serializer.endTag( NAMESPACE, "excludes" );
686         }
687         if ( repository.getFileMode() != null )
688         {
689             serializer.startTag( NAMESPACE, "fileMode" ).text( repository.getFileMode() ).endTag( NAMESPACE, "fileMode" );
690         }
691         if ( repository.getDirectoryMode() != null )
692         {
693             serializer.startTag( NAMESPACE, "directoryMode" ).text( repository.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
694         }
695         if ( repository.isIncludeMetadata() != false )
696         {
697             serializer.startTag( NAMESPACE, "includeMetadata" ).text( String.valueOf( repository.isIncludeMetadata() ) ).endTag( NAMESPACE, "includeMetadata" );
698         }
699         if ( ( repository.getGroupVersionAlignments() != null ) && ( repository.getGroupVersionAlignments().size() > 0 ) )
700         {
701             serializer.startTag( NAMESPACE, "groupVersionAlignments" );
702             for ( Iterator iter = repository.getGroupVersionAlignments().iterator(); iter.hasNext(); )
703             {
704                 GroupVersionAlignment o = (GroupVersionAlignment) iter.next();
705                 writeGroupVersionAlignment( o, "groupVersionAlignment", serializer );
706             }
707             serializer.endTag( NAMESPACE, "groupVersionAlignments" );
708         }
709         if ( ( repository.getScope() != null ) && !repository.getScope().equals( "runtime" ) )
710         {
711             serializer.startTag( NAMESPACE, "scope" ).text( repository.getScope() ).endTag( NAMESPACE, "scope" );
712         }
713         serializer.endTag( NAMESPACE, tagName );
714     } //-- void writeRepository( Repository, String, XmlSerializer )
715 
716     /**
717      * Method writeUnpackOptions.
718      * 
719      * @param unpackOptions a unpackOptions object.
720      * @param serializer a serializer object.
721      * @param tagName a tagName object.
722      * @throws java.io.IOException java.io.IOException if any.
723      */
724     private void writeUnpackOptions( UnpackOptions unpackOptions, String tagName, XmlSerializer serializer )
725         throws java.io.IOException
726     {
727         serializer.startTag( NAMESPACE, tagName );
728         if ( ( unpackOptions.getIncludes() != null ) && ( unpackOptions.getIncludes().size() > 0 ) )
729         {
730             serializer.startTag( NAMESPACE, "includes" );
731             for ( Iterator iter = unpackOptions.getIncludes().iterator(); iter.hasNext(); )
732             {
733                 String include = (String) iter.next();
734                 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
735             }
736             serializer.endTag( NAMESPACE, "includes" );
737         }
738         if ( ( unpackOptions.getExcludes() != null ) && ( unpackOptions.getExcludes().size() > 0 ) )
739         {
740             serializer.startTag( NAMESPACE, "excludes" );
741             for ( Iterator iter = unpackOptions.getExcludes().iterator(); iter.hasNext(); )
742             {
743                 String exclude = (String) iter.next();
744                 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
745             }
746             serializer.endTag( NAMESPACE, "excludes" );
747         }
748         if ( unpackOptions.isFiltered() != false )
749         {
750             serializer.startTag( NAMESPACE, "filtered" ).text( String.valueOf( unpackOptions.isFiltered() ) ).endTag( NAMESPACE, "filtered" );
751         }
752         if ( ( unpackOptions.getNonFilteredFileExtensions() != null ) && ( unpackOptions.getNonFilteredFileExtensions().size() > 0 ) )
753         {
754             serializer.startTag( NAMESPACE, "nonFilteredFileExtensions" );
755             for ( Iterator iter = unpackOptions.getNonFilteredFileExtensions().iterator(); iter.hasNext(); )
756             {
757                 String nonFilteredFileExtension = (String) iter.next();
758                 serializer.startTag( NAMESPACE, "nonFilteredFileExtension" ).text( nonFilteredFileExtension ).endTag( NAMESPACE, "nonFilteredFileExtension" );
759             }
760             serializer.endTag( NAMESPACE, "nonFilteredFileExtensions" );
761         }
762         if ( unpackOptions.getLineEnding() != null )
763         {
764             serializer.startTag( NAMESPACE, "lineEnding" ).text( unpackOptions.getLineEnding() ).endTag( NAMESPACE, "lineEnding" );
765         }
766         if ( unpackOptions.isUseDefaultExcludes() != true )
767         {
768             serializer.startTag( NAMESPACE, "useDefaultExcludes" ).text( String.valueOf( unpackOptions.isUseDefaultExcludes() ) ).endTag( NAMESPACE, "useDefaultExcludes" );
769         }
770         if ( unpackOptions.getEncoding() != null )
771         {
772             serializer.startTag( NAMESPACE, "encoding" ).text( unpackOptions.getEncoding() ).endTag( NAMESPACE, "encoding" );
773         }
774         serializer.endTag( NAMESPACE, tagName );
775     } //-- void writeUnpackOptions( UnpackOptions, String, XmlSerializer )
776 
777 }