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.archetype.metadata.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.archetype.metadata.AbstractArchetypeDescriptor;
16  import org.apache.maven.archetype.metadata.ArchetypeDescriptor;
17  import org.apache.maven.archetype.metadata.FileSet;
18  import org.apache.maven.archetype.metadata.ModuleDescriptor;
19  import org.apache.maven.archetype.metadata.RequiredProperty;
20  import org.codehaus.plexus.util.xml.pull.MXSerializer;
21  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
22  
23  /**
24   * Class ArchetypeDescriptorXpp3Writer.
25   * 
26   * @version $Revision: 942523 $ $Date: 2015-03-06 00:20:33 +0000 (Fri, 06 Mar 2015) $
27   */
28  @SuppressWarnings( "all" )
29  public class ArchetypeDescriptorXpp3Writer
30  {
31  
32        //--------------------------/
33       //- Class/Member Variables -/
34      //--------------------------/
35  
36      /**
37       * Field NAMESPACE.
38       */
39      private static final String NAMESPACE = null;
40  
41  
42        //-----------/
43       //- Methods -/
44      //-----------/
45  
46      /**
47       * Method write.
48       * 
49       * @param writer
50       * @param archetypeDescriptor
51       * @throws java.io.IOException
52       */
53      public void write( Writer writer, ArchetypeDescriptor archetypeDescriptor )
54          throws java.io.IOException
55      {
56          XmlSerializer serializer = new MXSerializer();
57          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
58          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
59          serializer.setOutput( writer );
60          serializer.startDocument( archetypeDescriptor.getModelEncoding(), null );
61          writeArchetypeDescriptor( archetypeDescriptor, "archetype-descriptor", serializer );
62          serializer.endDocument();
63      } //-- void write( Writer, ArchetypeDescriptor )
64  
65      /**
66       * Method write.
67       * 
68       * @param stream
69       * @param archetypeDescriptor
70       * @throws java.io.IOException
71       */
72      public void write( OutputStream stream, ArchetypeDescriptor archetypeDescriptor )
73          throws java.io.IOException
74      {
75          XmlSerializer serializer = new MXSerializer();
76          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
77          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
78          serializer.setOutput( stream, archetypeDescriptor.getModelEncoding() );
79          serializer.startDocument( archetypeDescriptor.getModelEncoding(), null );
80          writeArchetypeDescriptor( archetypeDescriptor, "archetype-descriptor", serializer );
81          serializer.endDocument();
82      } //-- void write( OutputStream, ArchetypeDescriptor )
83  
84      /**
85       * Method writeAbstractArchetypeDescriptor.
86       * 
87       * @param abstractArchetypeDescriptor
88       * @param serializer
89       * @param tagName
90       * @throws java.io.IOException
91       */
92      private void writeAbstractArchetypeDescriptor( AbstractArchetypeDescriptor abstractArchetypeDescriptor, String tagName, XmlSerializer serializer )
93          throws java.io.IOException
94      {
95          serializer.startTag( NAMESPACE, tagName );
96          if ( ( abstractArchetypeDescriptor.getFileSets() != null ) && ( abstractArchetypeDescriptor.getFileSets().size() > 0 ) )
97          {
98              serializer.startTag( NAMESPACE, "fileSets" );
99              for ( Iterator iter = abstractArchetypeDescriptor.getFileSets().iterator(); iter.hasNext(); )
100             {
101                 FileSet o = (FileSet) iter.next();
102                 writeFileSet( o, "fileSet", serializer );
103             }
104             serializer.endTag( NAMESPACE, "fileSets" );
105         }
106         if ( ( abstractArchetypeDescriptor.getModules() != null ) && ( abstractArchetypeDescriptor.getModules().size() > 0 ) )
107         {
108             serializer.startTag( NAMESPACE, "modules" );
109             for ( Iterator iter = abstractArchetypeDescriptor.getModules().iterator(); iter.hasNext(); )
110             {
111                 ModuleDescriptor o = (ModuleDescriptor) iter.next();
112                 writeModuleDescriptor( o, "module", serializer );
113             }
114             serializer.endTag( NAMESPACE, "modules" );
115         }
116         serializer.endTag( NAMESPACE, tagName );
117     } //-- void writeAbstractArchetypeDescriptor( AbstractArchetypeDescriptor, String, XmlSerializer )
118 
119     /**
120      * Method writeArchetypeDescriptor.
121      * 
122      * @param archetypeDescriptor
123      * @param serializer
124      * @param tagName
125      * @throws java.io.IOException
126      */
127     private void writeArchetypeDescriptor( ArchetypeDescriptor archetypeDescriptor, String tagName, XmlSerializer serializer )
128         throws java.io.IOException
129     {
130         serializer.setPrefix( "", "http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" );
131         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
132         serializer.startTag( NAMESPACE, tagName );
133         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" );
134         if ( archetypeDescriptor.getName() != null )
135         {
136             serializer.attribute( NAMESPACE, "name", archetypeDescriptor.getName() );
137         }
138         if ( archetypeDescriptor.isPartial() != false )
139         {
140             serializer.attribute( NAMESPACE, "partial", String.valueOf( archetypeDescriptor.isPartial() ) );
141         }
142         if ( ( archetypeDescriptor.getRequiredProperties() != null ) && ( archetypeDescriptor.getRequiredProperties().size() > 0 ) )
143         {
144             serializer.startTag( NAMESPACE, "requiredProperties" );
145             for ( Iterator iter = archetypeDescriptor.getRequiredProperties().iterator(); iter.hasNext(); )
146             {
147                 RequiredProperty o = (RequiredProperty) iter.next();
148                 writeRequiredProperty( o, "requiredProperty", serializer );
149             }
150             serializer.endTag( NAMESPACE, "requiredProperties" );
151         }
152         if ( ( archetypeDescriptor.getFileSets() != null ) && ( archetypeDescriptor.getFileSets().size() > 0 ) )
153         {
154             serializer.startTag( NAMESPACE, "fileSets" );
155             for ( Iterator iter = archetypeDescriptor.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 ( ( archetypeDescriptor.getModules() != null ) && ( archetypeDescriptor.getModules().size() > 0 ) )
163         {
164             serializer.startTag( NAMESPACE, "modules" );
165             for ( Iterator iter = archetypeDescriptor.getModules().iterator(); iter.hasNext(); )
166             {
167                 ModuleDescriptor o = (ModuleDescriptor) iter.next();
168                 writeModuleDescriptor( o, "module", serializer );
169             }
170             serializer.endTag( NAMESPACE, "modules" );
171         }
172         serializer.endTag( NAMESPACE, tagName );
173     } //-- void writeArchetypeDescriptor( ArchetypeDescriptor, String, XmlSerializer )
174 
175     /**
176      * Method writeFileSet.
177      * 
178      * @param fileSet
179      * @param serializer
180      * @param tagName
181      * @throws java.io.IOException
182      */
183     private void writeFileSet( FileSet fileSet, String tagName, XmlSerializer serializer )
184         throws java.io.IOException
185     {
186         serializer.startTag( NAMESPACE, tagName );
187         if ( fileSet.isFiltered() != false )
188         {
189             serializer.attribute( NAMESPACE, "filtered", String.valueOf( fileSet.isFiltered() ) );
190         }
191         if ( fileSet.isPackaged() != false )
192         {
193             serializer.attribute( NAMESPACE, "packaged", String.valueOf( fileSet.isPackaged() ) );
194         }
195         if ( fileSet.getEncoding() != null )
196         {
197             serializer.attribute( NAMESPACE, "encoding", fileSet.getEncoding() );
198         }
199         if ( fileSet.getDirectory() != null )
200         {
201             serializer.startTag( NAMESPACE, "directory" ).text( fileSet.getDirectory() ).endTag( NAMESPACE, "directory" );
202         }
203         if ( ( fileSet.getIncludes() != null ) && ( fileSet.getIncludes().size() > 0 ) )
204         {
205             serializer.startTag( NAMESPACE, "includes" );
206             for ( Iterator iter = fileSet.getIncludes().iterator(); iter.hasNext(); )
207             {
208                 String include = (String) iter.next();
209                 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
210             }
211             serializer.endTag( NAMESPACE, "includes" );
212         }
213         if ( ( fileSet.getExcludes() != null ) && ( fileSet.getExcludes().size() > 0 ) )
214         {
215             serializer.startTag( NAMESPACE, "excludes" );
216             for ( Iterator iter = fileSet.getExcludes().iterator(); iter.hasNext(); )
217             {
218                 String exclude = (String) iter.next();
219                 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
220             }
221             serializer.endTag( NAMESPACE, "excludes" );
222         }
223         serializer.endTag( NAMESPACE, tagName );
224     } //-- void writeFileSet( FileSet, String, XmlSerializer )
225 
226     /**
227      * Method writeModuleDescriptor.
228      * 
229      * @param moduleDescriptor
230      * @param serializer
231      * @param tagName
232      * @throws java.io.IOException
233      */
234     private void writeModuleDescriptor( ModuleDescriptor moduleDescriptor, String tagName, XmlSerializer serializer )
235         throws java.io.IOException
236     {
237         serializer.startTag( NAMESPACE, tagName );
238         if ( moduleDescriptor.getId() != null )
239         {
240             serializer.attribute( NAMESPACE, "id", moduleDescriptor.getId() );
241         }
242         if ( moduleDescriptor.getDir() != null )
243         {
244             serializer.attribute( NAMESPACE, "dir", moduleDescriptor.getDir() );
245         }
246         if ( moduleDescriptor.getName() != null )
247         {
248             serializer.attribute( NAMESPACE, "name", moduleDescriptor.getName() );
249         }
250         if ( ( moduleDescriptor.getFileSets() != null ) && ( moduleDescriptor.getFileSets().size() > 0 ) )
251         {
252             serializer.startTag( NAMESPACE, "fileSets" );
253             for ( Iterator iter = moduleDescriptor.getFileSets().iterator(); iter.hasNext(); )
254             {
255                 FileSet o = (FileSet) iter.next();
256                 writeFileSet( o, "fileSet", serializer );
257             }
258             serializer.endTag( NAMESPACE, "fileSets" );
259         }
260         if ( ( moduleDescriptor.getModules() != null ) && ( moduleDescriptor.getModules().size() > 0 ) )
261         {
262             serializer.startTag( NAMESPACE, "modules" );
263             for ( Iterator iter = moduleDescriptor.getModules().iterator(); iter.hasNext(); )
264             {
265                 ModuleDescriptor o = (ModuleDescriptor) iter.next();
266                 writeModuleDescriptor( o, "module", serializer );
267             }
268             serializer.endTag( NAMESPACE, "modules" );
269         }
270         serializer.endTag( NAMESPACE, tagName );
271     } //-- void writeModuleDescriptor( ModuleDescriptor, String, XmlSerializer )
272 
273     /**
274      * Method writeRequiredProperty.
275      * 
276      * @param requiredProperty
277      * @param serializer
278      * @param tagName
279      * @throws java.io.IOException
280      */
281     private void writeRequiredProperty( RequiredProperty requiredProperty, String tagName, XmlSerializer serializer )
282         throws java.io.IOException
283     {
284         serializer.startTag( NAMESPACE, tagName );
285         if ( requiredProperty.getKey() != null )
286         {
287             serializer.attribute( NAMESPACE, "key", requiredProperty.getKey() );
288         }
289         if ( requiredProperty.getDefaultValue() != null )
290         {
291             serializer.startTag( NAMESPACE, "defaultValue" ).text( requiredProperty.getDefaultValue() ).endTag( NAMESPACE, "defaultValue" );
292         }
293         serializer.endTag( NAMESPACE, tagName );
294     } //-- void writeRequiredProperty( RequiredProperty, String, XmlSerializer )
295 
296 }