View Javadoc

1   /*
2    =================== DO NOT EDIT THIS FILE ====================
3    Generated by Modello 1.0.1 on 2009-09-09 03:30:24,
4    any modifications will be overwritten.
5    ==============================================================
6    */
7   
8   package org.apache.maven.toolchain.model.io.xpp3;
9   
10    //---------------------------------/
11   //- Imported classes and packages -/
12  //---------------------------------/
13  
14  import java.io.Writer;
15  import java.text.DateFormat;
16  import java.util.Iterator;
17  import java.util.Locale;
18  import org.apache.maven.toolchain.model.PersistedToolchains;
19  import org.apache.maven.toolchain.model.ToolchainModel;
20  import org.codehaus.plexus.util.xml.Xpp3Dom;
21  import org.codehaus.plexus.util.xml.pull.MXSerializer;
22  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
23  
24  /**
25   * Class MavenToolchainsXpp3Writer.
26   * 
27   * @version $Revision$ $Date$
28   */
29  public class MavenToolchainsXpp3Writer
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 persistedToolchains
51       * @throws java.io.IOException
52       */
53      public void write( Writer writer, PersistedToolchains persistedToolchains )
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( persistedToolchains.getModelEncoding(), null );
61          writePersistedToolchains( persistedToolchains, "toolchains", serializer );
62          serializer.endDocument();
63      } //-- void write( Writer, PersistedToolchains )
64  
65      /**
66       * Method writePersistedToolchains.
67       * 
68       * @param persistedToolchains
69       * @param serializer
70       * @param tagName
71       * @throws java.io.IOException
72       */
73      private void writePersistedToolchains( PersistedToolchains persistedToolchains, String tagName, XmlSerializer serializer )
74          throws java.io.IOException
75      {
76          if ( persistedToolchains != null )
77          {
78              serializer.setPrefix( "", "http://maven.apache.org/TOOLCHAINS/1.0.0" );
79              serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
80              serializer.startTag( NAMESPACE, tagName );
81              serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/TOOLCHAINS/1.0.0 http://maven.apache.org/xsd/toolchains-1.0.0.xsd" );
82              if ( ( persistedToolchains.getToolchains() != null ) && ( persistedToolchains.getToolchains().size() > 0 ) )
83              {
84                  for ( Iterator iter = persistedToolchains.getToolchains().iterator(); iter.hasNext(); )
85                  {
86                      ToolchainModel o = (ToolchainModel) iter.next();
87                      writeToolchainModel( o, "toolchain", serializer );
88                  }
89              }
90              serializer.endTag( NAMESPACE, tagName );
91          }
92      } //-- void writePersistedToolchains( PersistedToolchains, String, XmlSerializer )
93  
94      /**
95       * Method writeToolchainModel.
96       * 
97       * @param toolchainModel
98       * @param serializer
99       * @param tagName
100      * @throws java.io.IOException
101      */
102     private void writeToolchainModel( ToolchainModel toolchainModel, String tagName, XmlSerializer serializer )
103         throws java.io.IOException
104     {
105         if ( toolchainModel != null )
106         {
107             serializer.startTag( NAMESPACE, tagName );
108             if ( toolchainModel.getType() != null )
109             {
110                 serializer.startTag( NAMESPACE, "type" ).text( toolchainModel.getType() ).endTag( NAMESPACE, "type" );
111             }
112             if ( toolchainModel.getProvides() != null )
113             {
114                 ((Xpp3Dom) toolchainModel.getProvides()).writeToSerializer( NAMESPACE, serializer );
115             }
116             if ( toolchainModel.getConfiguration() != null )
117             {
118                 ((Xpp3Dom) toolchainModel.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
119             }
120             serializer.endTag( NAMESPACE, tagName );
121         }
122     } //-- void writeToolchainModel( ToolchainModel, String, XmlSerializer )
123 
124 
125 }