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.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
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
65       * @param lifecycleConfiguration
66       * @throws java.io.IOException
67       */
68      public void write( Writer writer, LifecycleConfiguration lifecycleConfiguration )
69          throws java.io.IOException
70      {
71          XmlSerializer serializer = new MXSerializer();
72          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
73          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
74          serializer.setOutput( writer );
75          serializer.startDocument( lifecycleConfiguration.getModelEncoding(), null );
76          writeLifecycleConfiguration( lifecycleConfiguration, "lifecycles", serializer );
77          serializer.endDocument();
78      } //-- void write( Writer, LifecycleConfiguration )
79  
80      /**
81       * Method write.
82       * 
83       * @param stream
84       * @param lifecycleConfiguration
85       * @throws java.io.IOException
86       */
87      public void write( OutputStream stream, LifecycleConfiguration lifecycleConfiguration )
88          throws java.io.IOException
89      {
90          XmlSerializer serializer = new MXSerializer();
91          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
92          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
93          serializer.setOutput( stream, lifecycleConfiguration.getModelEncoding() );
94          serializer.startDocument( lifecycleConfiguration.getModelEncoding(), null );
95          writeLifecycleConfiguration( lifecycleConfiguration, "lifecycles", serializer );
96          serializer.endDocument();
97      } //-- void write( OutputStream, LifecycleConfiguration )
98  
99      /**
100      * Method writeExecution.
101      * 
102      * @param execution
103      * @param serializer
104      * @param tagName
105      * @throws java.io.IOException
106      */
107     private void writeExecution( Execution execution, String tagName, XmlSerializer serializer )
108         throws java.io.IOException
109     {
110         serializer.startTag( NAMESPACE, tagName );
111         if ( execution.getConfiguration() != null )
112         {
113             ((Xpp3Dom) execution.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
114         }
115         if ( ( execution.getGoals() != null ) && ( execution.getGoals().size() > 0 ) )
116         {
117             serializer.startTag( NAMESPACE, "goals" );
118             for ( Iterator iter = execution.getGoals().iterator(); iter.hasNext(); )
119             {
120                 String goal = (String) iter.next();
121                 serializer.startTag( NAMESPACE, "goal" ).text( goal ).endTag( NAMESPACE, "goal" );
122             }
123             serializer.endTag( NAMESPACE, "goals" );
124         }
125         serializer.endTag( NAMESPACE, tagName );
126     } //-- void writeExecution( Execution, String, XmlSerializer )
127 
128     /**
129      * Method writeLifecycle.
130      * 
131      * @param lifecycle
132      * @param serializer
133      * @param tagName
134      * @throws java.io.IOException
135      */
136     private void writeLifecycle( Lifecycle lifecycle, String tagName, XmlSerializer serializer )
137         throws java.io.IOException
138     {
139         serializer.startTag( NAMESPACE, tagName );
140         if ( lifecycle.getId() != null )
141         {
142             serializer.startTag( NAMESPACE, "id" ).text( lifecycle.getId() ).endTag( NAMESPACE, "id" );
143         }
144         if ( ( lifecycle.getPhases() != null ) && ( lifecycle.getPhases().size() > 0 ) )
145         {
146             serializer.startTag( NAMESPACE, "phases" );
147             for ( Iterator iter = lifecycle.getPhases().iterator(); iter.hasNext(); )
148             {
149                 Phase o = (Phase) iter.next();
150                 writePhase( o, "phase", serializer );
151             }
152             serializer.endTag( NAMESPACE, "phases" );
153         }
154         serializer.endTag( NAMESPACE, tagName );
155     } //-- void writeLifecycle( Lifecycle, String, XmlSerializer )
156 
157     /**
158      * Method writeLifecycleConfiguration.
159      * 
160      * @param lifecycleConfiguration
161      * @param serializer
162      * @param tagName
163      * @throws java.io.IOException
164      */
165     private void writeLifecycleConfiguration( LifecycleConfiguration lifecycleConfiguration, String tagName, XmlSerializer serializer )
166         throws java.io.IOException
167     {
168         if ( this.fileComment != null )
169         {
170         serializer.comment(this.fileComment);
171         }
172         serializer.setPrefix( "", "http://maven.apache.org/LIFECYCLE/1.0.0" );
173         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
174         serializer.startTag( NAMESPACE, tagName );
175         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/LIFECYCLE/1.0.0 http://maven.apache.org/xsd/lifecycle-1.0.0.xsd" );
176         if ( ( lifecycleConfiguration.getLifecycles() != null ) && ( lifecycleConfiguration.getLifecycles().size() > 0 ) )
177         {
178             for ( Iterator iter = lifecycleConfiguration.getLifecycles().iterator(); iter.hasNext(); )
179             {
180                 Lifecycle o = (Lifecycle) iter.next();
181                 writeLifecycle( o, "lifecycle", serializer );
182             }
183         }
184         serializer.endTag( NAMESPACE, tagName );
185     } //-- void writeLifecycleConfiguration( LifecycleConfiguration, String, XmlSerializer )
186 
187     /**
188      * Method writePhase.
189      * 
190      * @param phase
191      * @param serializer
192      * @param tagName
193      * @throws java.io.IOException
194      */
195     private void writePhase( Phase phase, String tagName, XmlSerializer serializer )
196         throws java.io.IOException
197     {
198         serializer.startTag( NAMESPACE, tagName );
199         if ( phase.getId() != null )
200         {
201             serializer.startTag( NAMESPACE, "id" ).text( phase.getId() ).endTag( NAMESPACE, "id" );
202         }
203         if ( ( phase.getExecutions() != null ) && ( phase.getExecutions().size() > 0 ) )
204         {
205             serializer.startTag( NAMESPACE, "executions" );
206             for ( Iterator iter = phase.getExecutions().iterator(); iter.hasNext(); )
207             {
208                 Execution o = (Execution) iter.next();
209                 writeExecution( o, "execution", serializer );
210             }
211             serializer.endTag( NAMESPACE, "executions" );
212         }
213         if ( phase.getConfiguration() != null )
214         {
215             ((Xpp3Dom) phase.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
216         }
217         serializer.endTag( NAMESPACE, tagName );
218     } //-- void writePhase( Phase, String, XmlSerializer )
219 
220 }