View Javadoc

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