View Javadoc

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