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.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.apache.maven.toolchain.model.TrackableBase;
18  import org.codehaus.plexus.util.xml.Xpp3Dom;
19  import org.codehaus.plexus.util.xml.pull.MXSerializer;
20  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
21  
22  /**
23   * Class MavenToolchainsXpp3Writer.
24   * 
25   * @version $Revision$ $Date$
26   */
27  @SuppressWarnings( "all" )
28  public class MavenToolchainsXpp3Writer
29  {
30  
31        //--------------------------/
32       //- Class/Member Variables -/
33      //--------------------------/
34  
35      /**
36       * Field NAMESPACE.
37       */
38      private static final String NAMESPACE = null;
39  
40      /**
41       * Field fileComment.
42       */
43      private String fileComment = null;
44  
45  
46        //-----------/
47       //- Methods -/
48      //-----------/
49  
50      /**
51       * Method setFileComment.
52       * 
53       * @param fileComment
54       */
55      public void setFileComment( String fileComment )
56      {
57          this.fileComment = fileComment;
58      } //-- void setFileComment( String )
59  
60      /**
61       * Method write.
62       * 
63       * @param writer
64       * @param persistedToolchains
65       * @throws java.io.IOException
66       */
67      public void write( Writer writer, PersistedToolchains persistedToolchains )
68          throws java.io.IOException
69      {
70          XmlSerializer serializer = new MXSerializer();
71          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
72          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
73          serializer.setOutput( writer );
74          serializer.startDocument( persistedToolchains.getModelEncoding(), null );
75          writePersistedToolchains( persistedToolchains, "toolchains", serializer );
76          serializer.endDocument();
77      } //-- void write( Writer, PersistedToolchains )
78  
79      /**
80       * Method write.
81       * 
82       * @param stream
83       * @param persistedToolchains
84       * @throws java.io.IOException
85       */
86      public void write( OutputStream stream, PersistedToolchains persistedToolchains )
87          throws java.io.IOException
88      {
89          XmlSerializer serializer = new MXSerializer();
90          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
91          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
92          serializer.setOutput( stream, persistedToolchains.getModelEncoding() );
93          serializer.startDocument( persistedToolchains.getModelEncoding(), null );
94          writePersistedToolchains( persistedToolchains, "toolchains", serializer );
95          serializer.endDocument();
96      } //-- void write( OutputStream, PersistedToolchains )
97  
98      /**
99       * Method writePersistedToolchains.
100      * 
101      * @param persistedToolchains
102      * @param serializer
103      * @param tagName
104      * @throws java.io.IOException
105      */
106     private void writePersistedToolchains( PersistedToolchains persistedToolchains, String tagName, XmlSerializer serializer )
107         throws java.io.IOException
108     {
109         if ( this.fileComment != null )
110         {
111         serializer.comment(this.fileComment);
112         }
113         serializer.setPrefix( "", "http://maven.apache.org/TOOLCHAINS/1.1.0" );
114         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
115         serializer.startTag( NAMESPACE, tagName );
116         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/TOOLCHAINS/1.1.0 http://maven.apache.org/xsd/toolchains-1.1.0.xsd" );
117         if ( ( persistedToolchains.getToolchains() != null ) && ( persistedToolchains.getToolchains().size() > 0 ) )
118         {
119             for ( Iterator iter = persistedToolchains.getToolchains().iterator(); iter.hasNext(); )
120             {
121                 ToolchainModel o = (ToolchainModel) iter.next();
122                 writeToolchainModel( o, "toolchain", serializer );
123             }
124         }
125         serializer.endTag( NAMESPACE, tagName );
126     } //-- void writePersistedToolchains( PersistedToolchains, String, XmlSerializer )
127 
128     /**
129      * Method writeToolchainModel.
130      * 
131      * @param toolchainModel
132      * @param serializer
133      * @param tagName
134      * @throws java.io.IOException
135      */
136     private void writeToolchainModel( ToolchainModel toolchainModel, String tagName, XmlSerializer serializer )
137         throws java.io.IOException
138     {
139         serializer.startTag( NAMESPACE, tagName );
140         if ( toolchainModel.getType() != null )
141         {
142             serializer.startTag( NAMESPACE, "type" ).text( toolchainModel.getType() ).endTag( NAMESPACE, "type" );
143         }
144         if ( ( toolchainModel.getProvides() != null ) && ( toolchainModel.getProvides().size() > 0 ) )
145         {
146             serializer.startTag( NAMESPACE, "provides" );
147             for ( Iterator iter = toolchainModel.getProvides().keySet().iterator(); iter.hasNext(); )
148             {
149                 String key = (String) iter.next();
150                 String value = (String) toolchainModel.getProvides().get( key );
151                 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
152             }
153             serializer.endTag( NAMESPACE, "provides" );
154         }
155         if ( toolchainModel.getConfiguration() != null )
156         {
157             ((Xpp3Dom) toolchainModel.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
158         }
159         serializer.endTag( NAMESPACE, tagName );
160     } //-- void writeToolchainModel( ToolchainModel, String, XmlSerializer )
161 
162     /**
163      * Method writeTrackableBase.
164      * 
165      * @param trackableBase
166      * @param serializer
167      * @param tagName
168      * @throws java.io.IOException
169      */
170     private void writeTrackableBase( TrackableBase trackableBase, String tagName, XmlSerializer serializer )
171         throws java.io.IOException
172     {
173         serializer.startTag( NAMESPACE, tagName );
174         serializer.endTag( NAMESPACE, tagName );
175     } //-- void writeTrackableBase( TrackableBase, String, XmlSerializer )
176 
177 }