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.cli.internal.extension.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.cli.internal.extension.model.CoreExtension;
16  import org.apache.maven.cli.internal.extension.model.CoreExtensions;
17  import org.codehaus.plexus.util.xml.pull.MXSerializer;
18  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
19  
20  /**
21   * Class CoreExtensionsXpp3Writer.
22   * 
23   * @version $Revision$ $Date$
24   */
25  @SuppressWarnings( "all" )
26  public class CoreExtensionsXpp3Writer
27  {
28  
29        //--------------------------/
30       //- Class/Member Variables -/
31      //--------------------------/
32  
33      /**
34       * Field NAMESPACE.
35       */
36      private static final String NAMESPACE = null;
37  
38      /**
39       * Field fileComment.
40       */
41      private String fileComment = null;
42  
43  
44        //-----------/
45       //- Methods -/
46      //-----------/
47  
48      /**
49       * Method setFileComment.
50       * 
51       * @param fileComment
52       */
53      public void setFileComment( String fileComment )
54      {
55          this.fileComment = fileComment;
56      } //-- void setFileComment( String )
57  
58      /**
59       * Method write.
60       * 
61       * @param writer
62       * @param coreExtensions
63       * @throws java.io.IOException
64       */
65      public void write( Writer writer, CoreExtensions coreExtensions )
66          throws java.io.IOException
67      {
68          XmlSerializer serializer = new MXSerializer();
69          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
70          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
71          serializer.setOutput( writer );
72          serializer.startDocument( coreExtensions.getModelEncoding(), null );
73          writeCoreExtensions( coreExtensions, "extensions", serializer );
74          serializer.endDocument();
75      } //-- void write( Writer, CoreExtensions )
76  
77      /**
78       * Method write.
79       * 
80       * @param stream
81       * @param coreExtensions
82       * @throws java.io.IOException
83       */
84      public void write( OutputStream stream, CoreExtensions coreExtensions )
85          throws java.io.IOException
86      {
87          XmlSerializer serializer = new MXSerializer();
88          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
89          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
90          serializer.setOutput( stream, coreExtensions.getModelEncoding() );
91          serializer.startDocument( coreExtensions.getModelEncoding(), null );
92          writeCoreExtensions( coreExtensions, "extensions", serializer );
93          serializer.endDocument();
94      } //-- void write( OutputStream, CoreExtensions )
95  
96      /**
97       * Method writeCoreExtension.
98       * 
99       * @param coreExtension
100      * @param serializer
101      * @param tagName
102      * @throws java.io.IOException
103      */
104     private void writeCoreExtension( CoreExtension coreExtension, String tagName, XmlSerializer serializer )
105         throws java.io.IOException
106     {
107         serializer.startTag( NAMESPACE, tagName );
108         if ( coreExtension.getGroupId() != null )
109         {
110             serializer.startTag( NAMESPACE, "groupId" ).text( coreExtension.getGroupId() ).endTag( NAMESPACE, "groupId" );
111         }
112         if ( coreExtension.getArtifactId() != null )
113         {
114             serializer.startTag( NAMESPACE, "artifactId" ).text( coreExtension.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
115         }
116         if ( coreExtension.getVersion() != null )
117         {
118             serializer.startTag( NAMESPACE, "version" ).text( coreExtension.getVersion() ).endTag( NAMESPACE, "version" );
119         }
120         serializer.endTag( NAMESPACE, tagName );
121     } //-- void writeCoreExtension( CoreExtension, String, XmlSerializer )
122 
123     /**
124      * Method writeCoreExtensions.
125      * 
126      * @param coreExtensions
127      * @param serializer
128      * @param tagName
129      * @throws java.io.IOException
130      */
131     private void writeCoreExtensions( CoreExtensions coreExtensions, String tagName, XmlSerializer serializer )
132         throws java.io.IOException
133     {
134         if ( this.fileComment != null )
135         {
136         serializer.comment(this.fileComment);
137         }
138         serializer.setPrefix( "", "http://maven.apache.org/EXTENSIONS/1.0.0" );
139         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
140         serializer.startTag( NAMESPACE, tagName );
141         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd" );
142         if ( ( coreExtensions.getExtensions() != null ) && ( coreExtensions.getExtensions().size() > 0 ) )
143         {
144             for ( Iterator iter = coreExtensions.getExtensions().iterator(); iter.hasNext(); )
145             {
146                 CoreExtension o = (CoreExtension) iter.next();
147                 writeCoreExtension( o, "extension", serializer );
148             }
149         }
150         serializer.endTag( NAMESPACE, tagName );
151     } //-- void writeCoreExtensions( CoreExtensions, String, XmlSerializer )
152 
153 }