View Javadoc

1   /*
2    =================== DO NOT EDIT THIS FILE ====================
3    Generated by Modello 1.4.1 on 2011-11-29 12:00:52,
4    any modifications will be overwritten.
5    ==============================================================
6    */
7   
8   package org.apache.maven.plugin.assembly.model.io.xpp3;
9   
10    //---------------------------------/
11   //- Imported classes and packages -/
12  //---------------------------------/
13  
14  import java.io.OutputStream;
15  import java.io.Writer;
16  import java.text.DateFormat;
17  import java.util.Iterator;
18  import java.util.Locale;
19  import org.apache.maven.plugin.assembly.model.Assembly;
20  import org.apache.maven.plugin.assembly.model.ContainerDescriptorHandlerConfig;
21  import org.apache.maven.plugin.assembly.model.DependencySet;
22  import org.apache.maven.plugin.assembly.model.FileItem;
23  import org.apache.maven.plugin.assembly.model.FileSet;
24  import org.apache.maven.plugin.assembly.model.GroupVersionAlignment;
25  import org.apache.maven.plugin.assembly.model.ModuleBinaries;
26  import org.apache.maven.plugin.assembly.model.ModuleSet;
27  import org.apache.maven.plugin.assembly.model.ModuleSources;
28  import org.apache.maven.plugin.assembly.model.Repository;
29  import org.apache.maven.plugin.assembly.model.UnpackOptions;
30  import org.codehaus.plexus.util.xml.Xpp3Dom;
31  import org.codehaus.plexus.util.xml.pull.MXSerializer;
32  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
33  
34  /**
35   * Class AssemblyXpp3Writer.
36   * 
37   * @version $Revision$ $Date$
38   */
39  @SuppressWarnings( "all" )
40  public class AssemblyXpp3Writer
41  {
42  
43        //--------------------------/
44       //- Class/Member Variables -/
45      //--------------------------/
46  
47      /**
48       * Field NAMESPACE.
49       */
50      private static final String NAMESPACE = null;
51  
52  
53        //-----------/
54       //- Methods -/
55      //-----------/
56  
57      /**
58       * Method write.
59       * 
60       * @param writer
61       * @param assembly
62       * @throws java.io.IOException
63       */
64      public void write( Writer writer, Assembly assembly )
65          throws java.io.IOException
66      {
67          XmlSerializer serializer = new MXSerializer();
68          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
69          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
70          serializer.setOutput( writer );
71          serializer.startDocument( assembly.getModelEncoding(), null );
72          writeAssembly( assembly, "assembly", serializer );
73          serializer.endDocument();
74      } //-- void write( Writer, Assembly )
75  
76      /**
77       * Method write.
78       * 
79       * @param stream
80       * @param assembly
81       * @throws java.io.IOException
82       */
83      public void write( OutputStream stream, Assembly assembly )
84          throws java.io.IOException
85      {
86          XmlSerializer serializer = new MXSerializer();
87          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
88          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
89          serializer.setOutput( stream, assembly.getModelEncoding() );
90          serializer.startDocument( assembly.getModelEncoding(), null );
91          writeAssembly( assembly, "assembly", serializer );
92          serializer.endDocument();
93      } //-- void write( OutputStream, Assembly )
94  
95      /**
96       * Method writeAssembly.
97       * 
98       * @param assembly
99       * @param serializer
100      * @param tagName
101      * @throws java.io.IOException
102      */
103     private void writeAssembly( Assembly assembly, String tagName, XmlSerializer serializer )
104         throws java.io.IOException
105     {
106         serializer.setPrefix( "", "http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" );
107         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
108         serializer.startTag( NAMESPACE, tagName );
109         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd" );
110         if ( assembly.getId() != null )
111         {
112             serializer.startTag( NAMESPACE, "id" ).text( assembly.getId() ).endTag( NAMESPACE, "id" );
113         }
114         if ( ( assembly.getFormats() != null ) && ( assembly.getFormats().size() > 0 ) )
115         {
116             serializer.startTag( NAMESPACE, "formats" );
117             for ( Iterator iter = assembly.getFormats().iterator(); iter.hasNext(); )
118             {
119                 String format = (String) iter.next();
120                 serializer.startTag( NAMESPACE, "format" ).text( format ).endTag( NAMESPACE, "format" );
121             }
122             serializer.endTag( NAMESPACE, "formats" );
123         }
124         if ( assembly.isIncludeBaseDirectory() != true )
125         {
126             serializer.startTag( NAMESPACE, "includeBaseDirectory" ).text( String.valueOf( assembly.isIncludeBaseDirectory() ) ).endTag( NAMESPACE, "includeBaseDirectory" );
127         }
128         if ( assembly.getBaseDirectory() != null )
129         {
130             serializer.startTag( NAMESPACE, "baseDirectory" ).text( assembly.getBaseDirectory() ).endTag( NAMESPACE, "baseDirectory" );
131         }
132         if ( assembly.isIncludeSiteDirectory() != false )
133         {
134             serializer.startTag( NAMESPACE, "includeSiteDirectory" ).text( String.valueOf( assembly.isIncludeSiteDirectory() ) ).endTag( NAMESPACE, "includeSiteDirectory" );
135         }
136         if ( ( assembly.getContainerDescriptorHandlers() != null ) && ( assembly.getContainerDescriptorHandlers().size() > 0 ) )
137         {
138             serializer.startTag( NAMESPACE, "containerDescriptorHandlers" );
139             for ( Iterator iter = assembly.getContainerDescriptorHandlers().iterator(); iter.hasNext(); )
140             {
141                 ContainerDescriptorHandlerConfig o = (ContainerDescriptorHandlerConfig) iter.next();
142                 writeContainerDescriptorHandlerConfig( o, "containerDescriptorHandler", serializer );
143             }
144             serializer.endTag( NAMESPACE, "containerDescriptorHandlers" );
145         }
146         if ( ( assembly.getModuleSets() != null ) && ( assembly.getModuleSets().size() > 0 ) )
147         {
148             serializer.startTag( NAMESPACE, "moduleSets" );
149             for ( Iterator iter = assembly.getModuleSets().iterator(); iter.hasNext(); )
150             {
151                 ModuleSet o = (ModuleSet) iter.next();
152                 writeModuleSet( o, "moduleSet", serializer );
153             }
154             serializer.endTag( NAMESPACE, "moduleSets" );
155         }
156         if ( ( assembly.getFileSets() != null ) && ( assembly.getFileSets().size() > 0 ) )
157         {
158             serializer.startTag( NAMESPACE, "fileSets" );
159             for ( Iterator iter = assembly.getFileSets().iterator(); iter.hasNext(); )
160             {
161                 FileSet o = (FileSet) iter.next();
162                 writeFileSet( o, "fileSet", serializer );
163             }
164             serializer.endTag( NAMESPACE, "fileSets" );
165         }
166         if ( ( assembly.getFiles() != null ) && ( assembly.getFiles().size() > 0 ) )
167         {
168             serializer.startTag( NAMESPACE, "files" );
169             for ( Iterator iter = assembly.getFiles().iterator(); iter.hasNext(); )
170             {
171                 FileItem o = (FileItem) iter.next();
172                 writeFileItem( o, "file", serializer );
173             }
174             serializer.endTag( NAMESPACE, "files" );
175         }
176         if ( ( assembly.getDependencySets() != null ) && ( assembly.getDependencySets().size() > 0 ) )
177         {
178             serializer.startTag( NAMESPACE, "dependencySets" );
179             for ( Iterator iter = assembly.getDependencySets().iterator(); iter.hasNext(); )
180             {
181                 DependencySet o = (DependencySet) iter.next();
182                 writeDependencySet( o, "dependencySet", serializer );
183             }
184             serializer.endTag( NAMESPACE, "dependencySets" );
185         }
186         if ( ( assembly.getRepositories() != null ) && ( assembly.getRepositories().size() > 0 ) )
187         {
188             serializer.startTag( NAMESPACE, "repositories" );
189             for ( Iterator iter = assembly.getRepositories().iterator(); iter.hasNext(); )
190             {
191                 Repository o = (Repository) iter.next();
192                 writeRepository( o, "repository", serializer );
193             }
194             serializer.endTag( NAMESPACE, "repositories" );
195         }
196         if ( ( assembly.getComponentDescriptors() != null ) && ( assembly.getComponentDescriptors().size() > 0 ) )
197         {
198             serializer.startTag( NAMESPACE, "componentDescriptors" );
199             for ( Iterator iter = assembly.getComponentDescriptors().iterator(); iter.hasNext(); )
200             {
201                 String componentDescriptor = (String) iter.next();
202                 serializer.startTag( NAMESPACE, "componentDescriptor" ).text( componentDescriptor ).endTag( NAMESPACE, "componentDescriptor" );
203             }
204             serializer.endTag( NAMESPACE, "componentDescriptors" );
205         }
206         serializer.endTag( NAMESPACE, tagName );
207     } //-- void writeAssembly( Assembly, String, XmlSerializer )
208 
209     /**
210      * Method writeContainerDescriptorHandlerConfig.
211      * 
212      * @param containerDescriptorHandlerConfig
213      * @param serializer
214      * @param tagName
215      * @throws java.io.IOException
216      */
217     private void writeContainerDescriptorHandlerConfig( ContainerDescriptorHandlerConfig containerDescriptorHandlerConfig, String tagName, XmlSerializer serializer )
218         throws java.io.IOException
219     {
220         serializer.startTag( NAMESPACE, tagName );
221         if ( containerDescriptorHandlerConfig.getHandlerName() != null )
222         {
223             serializer.startTag( NAMESPACE, "handlerName" ).text( containerDescriptorHandlerConfig.getHandlerName() ).endTag( NAMESPACE, "handlerName" );
224         }
225         if ( containerDescriptorHandlerConfig.getConfiguration() != null )
226         {
227             ((Xpp3Dom) containerDescriptorHandlerConfig.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
228         }
229         serializer.endTag( NAMESPACE, tagName );
230     } //-- void writeContainerDescriptorHandlerConfig( ContainerDescriptorHandlerConfig, String, XmlSerializer )
231 
232     /**
233      * Method writeDependencySet.
234      * 
235      * @param dependencySet
236      * @param serializer
237      * @param tagName
238      * @throws java.io.IOException
239      */
240     private void writeDependencySet( DependencySet dependencySet, String tagName, XmlSerializer serializer )
241         throws java.io.IOException
242     {
243         serializer.startTag( NAMESPACE, tagName );
244         if ( dependencySet.getOutputDirectory() != null )
245         {
246             serializer.startTag( NAMESPACE, "outputDirectory" ).text( dependencySet.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
247         }
248         if ( ( dependencySet.getIncludes() != null ) && ( dependencySet.getIncludes().size() > 0 ) )
249         {
250             serializer.startTag( NAMESPACE, "includes" );
251             for ( Iterator iter = dependencySet.getIncludes().iterator(); iter.hasNext(); )
252             {
253                 String include = (String) iter.next();
254                 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
255             }
256             serializer.endTag( NAMESPACE, "includes" );
257         }
258         if ( ( dependencySet.getExcludes() != null ) && ( dependencySet.getExcludes().size() > 0 ) )
259         {
260             serializer.startTag( NAMESPACE, "excludes" );
261             for ( Iterator iter = dependencySet.getExcludes().iterator(); iter.hasNext(); )
262             {
263                 String exclude = (String) iter.next();
264                 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
265             }
266             serializer.endTag( NAMESPACE, "excludes" );
267         }
268         if ( dependencySet.getFileMode() != null )
269         {
270             serializer.startTag( NAMESPACE, "fileMode" ).text( dependencySet.getFileMode() ).endTag( NAMESPACE, "fileMode" );
271         }
272         if ( dependencySet.getDirectoryMode() != null )
273         {
274             serializer.startTag( NAMESPACE, "directoryMode" ).text( dependencySet.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
275         }
276         if ( dependencySet.isUseStrictFiltering() != false )
277         {
278             serializer.startTag( NAMESPACE, "useStrictFiltering" ).text( String.valueOf( dependencySet.isUseStrictFiltering() ) ).endTag( NAMESPACE, "useStrictFiltering" );
279         }
280         if ( ( dependencySet.getOutputFileNameMapping() != null ) && !dependencySet.getOutputFileNameMapping().equals( "${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}" ) )
281         {
282             serializer.startTag( NAMESPACE, "outputFileNameMapping" ).text( dependencySet.getOutputFileNameMapping() ).endTag( NAMESPACE, "outputFileNameMapping" );
283         }
284         if ( dependencySet.isUnpack() != false )
285         {
286             serializer.startTag( NAMESPACE, "unpack" ).text( String.valueOf( dependencySet.isUnpack() ) ).endTag( NAMESPACE, "unpack" );
287         }
288         if ( dependencySet.getUnpackOptions() != null )
289         {
290             writeUnpackOptions( (UnpackOptions) dependencySet.getUnpackOptions(), "unpackOptions", serializer );
291         }
292         if ( ( dependencySet.getScope() != null ) && !dependencySet.getScope().equals( "runtime" ) )
293         {
294             serializer.startTag( NAMESPACE, "scope" ).text( dependencySet.getScope() ).endTag( NAMESPACE, "scope" );
295         }
296         if ( dependencySet.isUseProjectArtifact() != true )
297         {
298             serializer.startTag( NAMESPACE, "useProjectArtifact" ).text( String.valueOf( dependencySet.isUseProjectArtifact() ) ).endTag( NAMESPACE, "useProjectArtifact" );
299         }
300         if ( dependencySet.isUseProjectAttachments() != false )
301         {
302             serializer.startTag( NAMESPACE, "useProjectAttachments" ).text( String.valueOf( dependencySet.isUseProjectAttachments() ) ).endTag( NAMESPACE, "useProjectAttachments" );
303         }
304         if ( dependencySet.isUseTransitiveDependencies() != true )
305         {
306             serializer.startTag( NAMESPACE, "useTransitiveDependencies" ).text( String.valueOf( dependencySet.isUseTransitiveDependencies() ) ).endTag( NAMESPACE, "useTransitiveDependencies" );
307         }
308         if ( dependencySet.isUseTransitiveFiltering() != false )
309         {
310             serializer.startTag( NAMESPACE, "useTransitiveFiltering" ).text( String.valueOf( dependencySet.isUseTransitiveFiltering() ) ).endTag( NAMESPACE, "useTransitiveFiltering" );
311         }
312         serializer.endTag( NAMESPACE, tagName );
313     } //-- void writeDependencySet( DependencySet, String, XmlSerializer )
314 
315     /**
316      * Method writeFileItem.
317      * 
318      * @param fileItem
319      * @param serializer
320      * @param tagName
321      * @throws java.io.IOException
322      */
323     private void writeFileItem( FileItem fileItem, String tagName, XmlSerializer serializer )
324         throws java.io.IOException
325     {
326         serializer.startTag( NAMESPACE, tagName );
327         if ( fileItem.getSource() != null )
328         {
329             serializer.startTag( NAMESPACE, "source" ).text( fileItem.getSource() ).endTag( NAMESPACE, "source" );
330         }
331         if ( fileItem.getOutputDirectory() != null )
332         {
333             serializer.startTag( NAMESPACE, "outputDirectory" ).text( fileItem.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
334         }
335         if ( fileItem.getDestName() != null )
336         {
337             serializer.startTag( NAMESPACE, "destName" ).text( fileItem.getDestName() ).endTag( NAMESPACE, "destName" );
338         }
339         if ( fileItem.getFileMode() != null )
340         {
341             serializer.startTag( NAMESPACE, "fileMode" ).text( fileItem.getFileMode() ).endTag( NAMESPACE, "fileMode" );
342         }
343         if ( fileItem.getLineEnding() != null )
344         {
345             serializer.startTag( NAMESPACE, "lineEnding" ).text( fileItem.getLineEnding() ).endTag( NAMESPACE, "lineEnding" );
346         }
347         if ( fileItem.isFiltered() != false )
348         {
349             serializer.startTag( NAMESPACE, "filtered" ).text( String.valueOf( fileItem.isFiltered() ) ).endTag( NAMESPACE, "filtered" );
350         }
351         serializer.endTag( NAMESPACE, tagName );
352     } //-- void writeFileItem( FileItem, String, XmlSerializer )
353 
354     /**
355      * Method writeFileSet.
356      * 
357      * @param fileSet
358      * @param serializer
359      * @param tagName
360      * @throws java.io.IOException
361      */
362     private void writeFileSet( FileSet fileSet, String tagName, XmlSerializer serializer )
363         throws java.io.IOException
364     {
365         serializer.startTag( NAMESPACE, tagName );
366         if ( fileSet.isUseDefaultExcludes() != true )
367         {
368             serializer.startTag( NAMESPACE, "useDefaultExcludes" ).text( String.valueOf( fileSet.isUseDefaultExcludes() ) ).endTag( NAMESPACE, "useDefaultExcludes" );
369         }
370         if ( fileSet.getOutputDirectory() != null )
371         {
372             serializer.startTag( NAMESPACE, "outputDirectory" ).text( fileSet.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
373         }
374         if ( ( fileSet.getIncludes() != null ) && ( fileSet.getIncludes().size() > 0 ) )
375         {
376             serializer.startTag( NAMESPACE, "includes" );
377             for ( Iterator iter = fileSet.getIncludes().iterator(); iter.hasNext(); )
378             {
379                 String include = (String) iter.next();
380                 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
381             }
382             serializer.endTag( NAMESPACE, "includes" );
383         }
384         if ( ( fileSet.getExcludes() != null ) && ( fileSet.getExcludes().size() > 0 ) )
385         {
386             serializer.startTag( NAMESPACE, "excludes" );
387             for ( Iterator iter = fileSet.getExcludes().iterator(); iter.hasNext(); )
388             {
389                 String exclude = (String) iter.next();
390                 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
391             }
392             serializer.endTag( NAMESPACE, "excludes" );
393         }
394         if ( fileSet.getFileMode() != null )
395         {
396             serializer.startTag( NAMESPACE, "fileMode" ).text( fileSet.getFileMode() ).endTag( NAMESPACE, "fileMode" );
397         }
398         if ( fileSet.getDirectoryMode() != null )
399         {
400             serializer.startTag( NAMESPACE, "directoryMode" ).text( fileSet.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
401         }
402         if ( fileSet.getDirectory() != null )
403         {
404             serializer.startTag( NAMESPACE, "directory" ).text( fileSet.getDirectory() ).endTag( NAMESPACE, "directory" );
405         }
406         if ( fileSet.getLineEnding() != null )
407         {
408             serializer.startTag( NAMESPACE, "lineEnding" ).text( fileSet.getLineEnding() ).endTag( NAMESPACE, "lineEnding" );
409         }
410         if ( fileSet.isFiltered() != false )
411         {
412             serializer.startTag( NAMESPACE, "filtered" ).text( String.valueOf( fileSet.isFiltered() ) ).endTag( NAMESPACE, "filtered" );
413         }
414         serializer.endTag( NAMESPACE, tagName );
415     } //-- void writeFileSet( FileSet, String, XmlSerializer )
416 
417     /**
418      * Method writeGroupVersionAlignment.
419      * 
420      * @param groupVersionAlignment
421      * @param serializer
422      * @param tagName
423      * @throws java.io.IOException
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
454      * @param serializer
455      * @param tagName
456      * @throws java.io.IOException
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
531      * @param serializer
532      * @param tagName
533      * @throws java.io.IOException
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
582      * @param serializer
583      * @param tagName
584      * @throws java.io.IOException
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
655      * @param serializer
656      * @param tagName
657      * @throws java.io.IOException
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
720      * @param serializer
721      * @param tagName
722      * @throws java.io.IOException
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.getLineEnding() != null )
753         {
754             serializer.startTag( NAMESPACE, "lineEnding" ).text( unpackOptions.getLineEnding() ).endTag( NAMESPACE, "lineEnding" );
755         }
756         if ( unpackOptions.isUseDefaultExcludes() != true )
757         {
758             serializer.startTag( NAMESPACE, "useDefaultExcludes" ).text( String.valueOf( unpackOptions.isUseDefaultExcludes() ) ).endTag( NAMESPACE, "useDefaultExcludes" );
759         }
760         serializer.endTag( NAMESPACE, tagName );
761     } //-- void writeUnpackOptions( UnpackOptions, String, XmlSerializer )
762 
763 }