View Javadoc
1   // =================== DO NOT EDIT THIS FILE ====================
2   // Generated by Modello 1.11,
3   // any modifications will be overwritten.
4   // ==============================================================
5   
6   package org.apache.maven.archetype.model.io.xpp3;
7   
8     //---------------------------------/
9    //- Imported classes and packages -/
10  //---------------------------------/
11  
12  import java.io.OutputStream;
13  import java.io.Writer;
14  import java.util.Iterator;
15  import org.apache.maven.archetype.model.ArchetypeModel;
16  import org.apache.maven.archetype.model.Resource;
17  import org.apache.maven.archetype.model.Source;
18  import org.codehaus.plexus.util.xml.pull.MXSerializer;
19  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
20  
21  /**
22   * Class ArchetypeXpp3Writer.
23   * 
24   * @version $Revision$ $Date$
25   */
26  @SuppressWarnings( "all" )
27  public class ArchetypeXpp3Writer
28  {
29  
30        //--------------------------/
31       //- Class/Member Variables -/
32      //--------------------------/
33  
34      /**
35       * Field NAMESPACE.
36       */
37      private static final String NAMESPACE = null;
38  
39      /**
40       * Field fileComment.
41       */
42      private String fileComment = null;
43  
44  
45        //-----------/
46       //- Methods -/
47      //-----------/
48  
49      /**
50       * Method setFileComment.
51       * 
52       * @param fileComment
53       */
54      public void setFileComment( String fileComment )
55      {
56          this.fileComment = fileComment;
57      } //-- void setFileComment( String )
58  
59      /**
60       * Method write.
61       * 
62       * @param writer
63       * @param archetypeModel
64       * @throws java.io.IOException
65       */
66      public void write( Writer writer, ArchetypeModel archetypeModel )
67          throws java.io.IOException
68      {
69          XmlSerializer serializer = new MXSerializer();
70          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
71          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
72          serializer.setOutput( writer );
73          serializer.startDocument( archetypeModel.getModelEncoding(), null );
74          writeArchetypeModel( archetypeModel, "archetype", serializer );
75          serializer.endDocument();
76      } //-- void write( Writer, ArchetypeModel )
77  
78      /**
79       * Method write.
80       * 
81       * @param stream
82       * @param archetypeModel
83       * @throws java.io.IOException
84       */
85      public void write( OutputStream stream, ArchetypeModel archetypeModel )
86          throws java.io.IOException
87      {
88          XmlSerializer serializer = new MXSerializer();
89          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
90          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
91          serializer.setOutput( stream, archetypeModel.getModelEncoding() );
92          serializer.startDocument( archetypeModel.getModelEncoding(), null );
93          writeArchetypeModel( archetypeModel, "archetype", serializer );
94          serializer.endDocument();
95      } //-- void write( OutputStream, ArchetypeModel )
96  
97      /**
98       * Method writeArchetypeModel.
99       * 
100      * @param archetypeModel
101      * @param serializer
102      * @param tagName
103      * @throws java.io.IOException
104      */
105     private void writeArchetypeModel( ArchetypeModel archetypeModel, String tagName, XmlSerializer serializer )
106         throws java.io.IOException
107     {
108         if ( this.fileComment != null )
109         {
110         serializer.comment(this.fileComment);
111         }
112         serializer.setPrefix( "", "https://maven.apache.org/plugins/maven-archetype-plugin/archetype/1.0.0" );
113         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
114         serializer.startTag( NAMESPACE, tagName );
115         serializer.attribute( "", "xsi:schemaLocation", "https://maven.apache.org/plugins/maven-archetype-plugin/archetype/1.0.0 https://maven.apache.org/xsd/archetype-1.0.0.xsd" );
116         if ( archetypeModel.getId() != null )
117         {
118             serializer.startTag( NAMESPACE, "id" ).text( archetypeModel.getId() ).endTag( NAMESPACE, "id" );
119         }
120         if ( archetypeModel.isAllowPartial() != false )
121         {
122             serializer.startTag( NAMESPACE, "allowPartial" ).text( String.valueOf( archetypeModel.isAllowPartial() ) ).endTag( NAMESPACE, "allowPartial" );
123         }
124         if ( ( archetypeModel.getSources() != null ) && ( archetypeModel.getSources().size() > 0 ) )
125         {
126             serializer.startTag( NAMESPACE, "sources" );
127             for ( Iterator iter = archetypeModel.getSources().iterator(); iter.hasNext(); )
128             {
129                 Source o = (Source) iter.next();
130                 writeSource( o, "source", serializer );
131             }
132             serializer.endTag( NAMESPACE, "sources" );
133         }
134         if ( ( archetypeModel.getResources() != null ) && ( archetypeModel.getResources().size() > 0 ) )
135         {
136             serializer.startTag( NAMESPACE, "resources" );
137             for ( Iterator iter = archetypeModel.getResources().iterator(); iter.hasNext(); )
138             {
139                 Resource o = (Resource) iter.next();
140                 writeResource( o, "resource", serializer );
141             }
142             serializer.endTag( NAMESPACE, "resources" );
143         }
144         if ( ( archetypeModel.getTestSources() != null ) && ( archetypeModel.getTestSources().size() > 0 ) )
145         {
146             serializer.startTag( NAMESPACE, "testSources" );
147             for ( Iterator iter = archetypeModel.getTestSources().iterator(); iter.hasNext(); )
148             {
149                 Source o = (Source) iter.next();
150                 writeSource( o, "source", serializer );
151             }
152             serializer.endTag( NAMESPACE, "testSources" );
153         }
154         if ( ( archetypeModel.getTestResources() != null ) && ( archetypeModel.getTestResources().size() > 0 ) )
155         {
156             serializer.startTag( NAMESPACE, "testResources" );
157             for ( Iterator iter = archetypeModel.getTestResources().iterator(); iter.hasNext(); )
158             {
159                 Resource o = (Resource) iter.next();
160                 writeResource( o, "resource", serializer );
161             }
162             serializer.endTag( NAMESPACE, "testResources" );
163         }
164         if ( ( archetypeModel.getSiteResources() != null ) && ( archetypeModel.getSiteResources().size() > 0 ) )
165         {
166             serializer.startTag( NAMESPACE, "siteResources" );
167             for ( Iterator iter = archetypeModel.getSiteResources().iterator(); iter.hasNext(); )
168             {
169                 Resource o = (Resource) iter.next();
170                 writeResource( o, "resource", serializer );
171             }
172             serializer.endTag( NAMESPACE, "siteResources" );
173         }
174         serializer.endTag( NAMESPACE, tagName );
175     } //-- void writeArchetypeModel( ArchetypeModel, String, XmlSerializer )
176 
177     /**
178      * Method writeResource.
179      * 
180      * @param resource
181      * @param serializer
182      * @param tagName
183      * @throws java.io.IOException
184      */
185     private void writeResource( Resource resource, String tagName, XmlSerializer serializer )
186         throws java.io.IOException
187     {
188         serializer.startTag( NAMESPACE, tagName );
189         if ( resource.getEncoding() != null )
190         {
191             serializer.attribute( NAMESPACE, "encoding", resource.getEncoding() );
192         }
193         if ( resource.isFiltered() != true )
194         {
195             serializer.attribute( NAMESPACE, "filtered", String.valueOf( resource.isFiltered() ) );
196         }
197         serializer.text( resource.getFile() );
198         serializer.endTag( NAMESPACE, tagName );
199     } //-- void writeResource( Resource, String, XmlSerializer )
200 
201     /**
202      * Method writeSource.
203      * 
204      * @param source
205      * @param serializer
206      * @param tagName
207      * @throws java.io.IOException
208      */
209     private void writeSource( Source source, String tagName, XmlSerializer serializer )
210         throws java.io.IOException
211     {
212         serializer.startTag( NAMESPACE, tagName );
213         if ( source.getEncoding() != null )
214         {
215             serializer.attribute( NAMESPACE, "encoding", source.getEncoding() );
216         }
217         serializer.text( source.getFile() );
218         serializer.endTag( NAMESPACE, tagName );
219     } //-- void writeSource( Source, String, XmlSerializer )
220 
221 }