View Javadoc
1   // =================== DO NOT EDIT THIS FILE ====================
2   // Generated by Modello 2.1.2,
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 a fileComment object.
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 a writer object.
62       * @param coreExtensions a coreExtensions object.
63       * @throws java.io.IOException java.io.IOException if any.
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 a stream object.
81       * @param coreExtensions a coreExtensions object.
82       * @throws java.io.IOException java.io.IOException if any.
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 a coreExtension object.
100      * @param serializer a serializer object.
101      * @param tagName a tagName object.
102      * @throws java.io.IOException java.io.IOException if any.
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         if ( ( coreExtension.getClassLoadingStrategy() != null ) && !coreExtension.getClassLoadingStrategy().equals( "self-first" ) )
121         {
122             serializer.startTag( NAMESPACE, "classLoadingStrategy" ).text( coreExtension.getClassLoadingStrategy() ).endTag( NAMESPACE, "classLoadingStrategy" );
123         }
124         serializer.endTag( NAMESPACE, tagName );
125     } //-- void writeCoreExtension( CoreExtension, String, XmlSerializer )
126 
127     /**
128      * Method writeCoreExtensions.
129      * 
130      * @param coreExtensions a coreExtensions object.
131      * @param serializer a serializer object.
132      * @param tagName a tagName object.
133      * @throws java.io.IOException java.io.IOException if any.
134      */
135     private void writeCoreExtensions( CoreExtensions coreExtensions, String tagName, XmlSerializer serializer )
136         throws java.io.IOException
137     {
138         if ( this.fileComment != null )
139         {
140         serializer.comment(this.fileComment);
141         }
142         serializer.setPrefix( "", "http://maven.apache.org/EXTENSIONS/1.1.0" );
143         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
144         serializer.startTag( NAMESPACE, tagName );
145         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/EXTENSIONS/1.1.0 http://maven.apache.org/xsd/core-extensions-1.1.0.xsd" );
146         if ( ( coreExtensions.getExtensions() != null ) && ( coreExtensions.getExtensions().size() > 0 ) )
147         {
148             for ( Iterator iter = coreExtensions.getExtensions().iterator(); iter.hasNext(); )
149             {
150                 CoreExtension o = (CoreExtension) iter.next();
151                 writeCoreExtension( o, "extension", serializer );
152             }
153         }
154         serializer.endTag( NAMESPACE, tagName );
155     } //-- void writeCoreExtensions( CoreExtensions, String, XmlSerializer )
156 
157 }