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.plugin.lifecycle.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.plugin.lifecycle.Execution;
16  import org.apache.maven.plugin.lifecycle.Lifecycle;
17  import org.apache.maven.plugin.lifecycle.LifecycleConfiguration;
18  import org.apache.maven.plugin.lifecycle.Phase;
19  import org.codehaus.plexus.util.xml.Xpp3Dom;
20  import org.codehaus.plexus.util.xml.pull.MXSerializer;
21  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
22  
23  /**
24   * Class LifecycleMappingsXpp3Writer.
25   * 
26   * @version $Revision$ $Date$
27   */
28  @SuppressWarnings( "all" )
29  public class LifecycleMappingsXpp3Writer
30  {
31  
32        //--------------------------/
33       //- Class/Member Variables -/
34      //--------------------------/
35  
36      /**
37       * Field NAMESPACE.
38       */
39      private static final String NAMESPACE = null;
40  
41      /**
42       * Field fileComment.
43       */
44      private String fileComment = null;
45  
46  
47        //-----------/
48       //- Methods -/
49      //-----------/
50  
51      /**
52       * Method setFileComment.
53       * 
54       * @param fileComment a fileComment object.
55       */
56      public void setFileComment( String fileComment )
57      {
58          this.fileComment = fileComment;
59      } //-- void setFileComment( String )
60  
61      /**
62       * Method write.
63       * 
64       * @param writer a writer object.
65       * @param lifecycleConfiguration a lifecycleConfiguration
66       * object.
67       * @throws java.io.IOException java.io.IOException if any.
68       */
69      public void write( Writer writer, LifecycleConfiguration lifecycleConfiguration )
70          throws java.io.IOException
71      {
72          XmlSerializer serializer = new MXSerializer();
73          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
74          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
75          serializer.setOutput( writer );
76          serializer.startDocument( lifecycleConfiguration.getModelEncoding(), null );
77          writeLifecycleConfiguration( lifecycleConfiguration, "lifecycles", serializer );
78          serializer.endDocument();
79      } //-- void write( Writer, LifecycleConfiguration )
80  
81      /**
82       * Method write.
83       * 
84       * @param stream a stream object.
85       * @param lifecycleConfiguration a lifecycleConfiguration
86       * object.
87       * @throws java.io.IOException java.io.IOException if any.
88       */
89      public void write( OutputStream stream, LifecycleConfiguration lifecycleConfiguration )
90          throws java.io.IOException
91      {
92          XmlSerializer serializer = new MXSerializer();
93          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
94          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
95          serializer.setOutput( stream, lifecycleConfiguration.getModelEncoding() );
96          serializer.startDocument( lifecycleConfiguration.getModelEncoding(), null );
97          writeLifecycleConfiguration( lifecycleConfiguration, "lifecycles", serializer );
98          serializer.endDocument();
99      } //-- void write( OutputStream, LifecycleConfiguration )
100 
101     /**
102      * Method writeExecution.
103      * 
104      * @param execution a execution object.
105      * @param serializer a serializer object.
106      * @param tagName a tagName object.
107      * @throws java.io.IOException java.io.IOException if any.
108      */
109     private void writeExecution( Execution execution, String tagName, XmlSerializer serializer )
110         throws java.io.IOException
111     {
112         serializer.startTag( NAMESPACE, tagName );
113         if ( execution.getConfiguration() != null )
114         {
115             ((Xpp3Dom) execution.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
116         }
117         if ( ( execution.getGoals() != null ) && ( execution.getGoals().size() > 0 ) )
118         {
119             serializer.startTag( NAMESPACE, "goals" );
120             for ( Iterator iter = execution.getGoals().iterator(); iter.hasNext(); )
121             {
122                 String goal = (String) iter.next();
123                 serializer.startTag( NAMESPACE, "goal" ).text( goal ).endTag( NAMESPACE, "goal" );
124             }
125             serializer.endTag( NAMESPACE, "goals" );
126         }
127         serializer.endTag( NAMESPACE, tagName );
128     } //-- void writeExecution( Execution, String, XmlSerializer )
129 
130     /**
131      * Method writeLifecycle.
132      * 
133      * @param lifecycle a lifecycle object.
134      * @param serializer a serializer object.
135      * @param tagName a tagName object.
136      * @throws java.io.IOException java.io.IOException if any.
137      */
138     private void writeLifecycle( Lifecycle lifecycle, String tagName, XmlSerializer serializer )
139         throws java.io.IOException
140     {
141         serializer.startTag( NAMESPACE, tagName );
142         if ( lifecycle.getId() != null )
143         {
144             serializer.startTag( NAMESPACE, "id" ).text( lifecycle.getId() ).endTag( NAMESPACE, "id" );
145         }
146         if ( ( lifecycle.getPhases() != null ) && ( lifecycle.getPhases().size() > 0 ) )
147         {
148             serializer.startTag( NAMESPACE, "phases" );
149             for ( Iterator iter = lifecycle.getPhases().iterator(); iter.hasNext(); )
150             {
151                 Phase o = (Phase) iter.next();
152                 writePhase( o, "phase", serializer );
153             }
154             serializer.endTag( NAMESPACE, "phases" );
155         }
156         serializer.endTag( NAMESPACE, tagName );
157     } //-- void writeLifecycle( Lifecycle, String, XmlSerializer )
158 
159     /**
160      * Method writeLifecycleConfiguration.
161      * 
162      * @param lifecycleConfiguration a lifecycleConfiguration
163      * object.
164      * @param serializer a serializer object.
165      * @param tagName a tagName object.
166      * @throws java.io.IOException java.io.IOException if any.
167      */
168     private void writeLifecycleConfiguration( LifecycleConfiguration lifecycleConfiguration, String tagName, XmlSerializer serializer )
169         throws java.io.IOException
170     {
171         if ( this.fileComment != null )
172         {
173         serializer.comment(this.fileComment);
174         }
175         serializer.setPrefix( "", "http://maven.apache.org/LIFECYCLE/1.0.0" );
176         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
177         serializer.startTag( NAMESPACE, tagName );
178         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/LIFECYCLE/1.0.0 http://maven.apache.org/xsd/lifecycle-1.0.0.xsd" );
179         if ( ( lifecycleConfiguration.getLifecycles() != null ) && ( lifecycleConfiguration.getLifecycles().size() > 0 ) )
180         {
181             for ( Iterator iter = lifecycleConfiguration.getLifecycles().iterator(); iter.hasNext(); )
182             {
183                 Lifecycle o = (Lifecycle) iter.next();
184                 writeLifecycle( o, "lifecycle", serializer );
185             }
186         }
187         serializer.endTag( NAMESPACE, tagName );
188     } //-- void writeLifecycleConfiguration( LifecycleConfiguration, String, XmlSerializer )
189 
190     /**
191      * Method writePhase.
192      * 
193      * @param phase a phase object.
194      * @param serializer a serializer object.
195      * @param tagName a tagName object.
196      * @throws java.io.IOException java.io.IOException if any.
197      */
198     private void writePhase( Phase phase, String tagName, XmlSerializer serializer )
199         throws java.io.IOException
200     {
201         serializer.startTag( NAMESPACE, tagName );
202         if ( phase.getId() != null )
203         {
204             serializer.startTag( NAMESPACE, "id" ).text( phase.getId() ).endTag( NAMESPACE, "id" );
205         }
206         if ( ( phase.getExecutions() != null ) && ( phase.getExecutions().size() > 0 ) )
207         {
208             serializer.startTag( NAMESPACE, "executions" );
209             for ( Iterator iter = phase.getExecutions().iterator(); iter.hasNext(); )
210             {
211                 Execution o = (Execution) iter.next();
212                 writeExecution( o, "execution", serializer );
213             }
214             serializer.endTag( NAMESPACE, "executions" );
215         }
216         if ( phase.getConfiguration() != null )
217         {
218             ((Xpp3Dom) phase.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
219         }
220         serializer.endTag( NAMESPACE, tagName );
221     } //-- void writePhase( Phase, String, XmlSerializer )
222 
223 }