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