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