View Javadoc

1   // =================== DO NOT EDIT THIS FILE ====================
2   // Generated by Modello 1.7,
3   // any modifications will be overwritten.
4   // ==============================================================
5   
6   package org.apache.maven.toolchain.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.toolchain.model.PersistedToolchains;
16  import org.apache.maven.toolchain.model.ToolchainModel;
17  import org.codehaus.plexus.util.xml.Xpp3Dom;
18  import org.codehaus.plexus.util.xml.pull.MXSerializer;
19  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
20  
21  /**
22   * Class MavenToolchainsXpp3Writer.
23   * 
24   * @version $Revision$ $Date$
25   */
26  @SuppressWarnings( "all" )
27  public class MavenToolchainsXpp3Writer
28  {
29  
30        //--------------------------/
31       //- Class/Member Variables -/
32      //--------------------------/
33  
34      /**
35       * Field NAMESPACE.
36       */
37      private static final String NAMESPACE = null;
38  
39  
40        //-----------/
41       //- Methods -/
42      //-----------/
43  
44      /**
45       * Method write.
46       * 
47       * @param writer
48       * @param persistedToolchains
49       * @throws java.io.IOException
50       */
51      public void write( Writer writer, PersistedToolchains persistedToolchains )
52          throws java.io.IOException
53      {
54          XmlSerializer serializer = new MXSerializer();
55          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
56          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
57          serializer.setOutput( writer );
58          serializer.startDocument( persistedToolchains.getModelEncoding(), null );
59          writePersistedToolchains( persistedToolchains, "toolchains", serializer );
60          serializer.endDocument();
61      } //-- void write( Writer, PersistedToolchains )
62  
63      /**
64       * Method write.
65       * 
66       * @param stream
67       * @param persistedToolchains
68       * @throws java.io.IOException
69       */
70      public void write( OutputStream stream, PersistedToolchains persistedToolchains )
71          throws java.io.IOException
72      {
73          XmlSerializer serializer = new MXSerializer();
74          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
75          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
76          serializer.setOutput( stream, persistedToolchains.getModelEncoding() );
77          serializer.startDocument( persistedToolchains.getModelEncoding(), null );
78          writePersistedToolchains( persistedToolchains, "toolchains", serializer );
79          serializer.endDocument();
80      } //-- void write( OutputStream, PersistedToolchains )
81  
82      /**
83       * Method writePersistedToolchains.
84       * 
85       * @param persistedToolchains
86       * @param serializer
87       * @param tagName
88       * @throws java.io.IOException
89       */
90      private void writePersistedToolchains( PersistedToolchains persistedToolchains, String tagName, XmlSerializer serializer )
91          throws java.io.IOException
92      {
93          serializer.setPrefix( "", "http://maven.apache.org/TOOLCHAINS/1.0.0" );
94          serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
95          serializer.startTag( NAMESPACE, tagName );
96          serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/TOOLCHAINS/1.0.0 http://maven.apache.org/xsd/toolchains-1.0.0.xsd" );
97          if ( ( persistedToolchains.getToolchains() != null ) && ( persistedToolchains.getToolchains().size() > 0 ) )
98          {
99              for ( Iterator iter = persistedToolchains.getToolchains().iterator(); iter.hasNext(); )
100             {
101                 ToolchainModel o = (ToolchainModel) iter.next();
102                 writeToolchainModel( o, "toolchain", serializer );
103             }
104         }
105         serializer.endTag( NAMESPACE, tagName );
106     } //-- void writePersistedToolchains( PersistedToolchains, String, XmlSerializer )
107 
108     /**
109      * Method writeToolchainModel.
110      * 
111      * @param toolchainModel
112      * @param serializer
113      * @param tagName
114      * @throws java.io.IOException
115      */
116     private void writeToolchainModel( ToolchainModel toolchainModel, String tagName, XmlSerializer serializer )
117         throws java.io.IOException
118     {
119         serializer.startTag( NAMESPACE, tagName );
120         if ( toolchainModel.getType() != null )
121         {
122             serializer.startTag( NAMESPACE, "type" ).text( toolchainModel.getType() ).endTag( NAMESPACE, "type" );
123         }
124         if ( toolchainModel.getProvides() != null )
125         {
126             ((Xpp3Dom) toolchainModel.getProvides()).writeToSerializer( NAMESPACE, serializer );
127         }
128         if ( toolchainModel.getConfiguration() != null )
129         {
130             ((Xpp3Dom) toolchainModel.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
131         }
132         serializer.endTag( NAMESPACE, tagName );
133     } //-- void writeToolchainModel( ToolchainModel, String, XmlSerializer )
134 
135 }