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