001 // =================== DO NOT EDIT THIS FILE ====================
002 // Generated by Modello 1.7,
003 // any modifications will be overwritten.
004 // ==============================================================
005
006 package org.apache.maven.plugin.lifecycle.io.xpp3;
007
008 //---------------------------------/
009 //- Imported classes and packages -/
010 //---------------------------------/
011
012 import java.io.OutputStream;
013 import java.io.Writer;
014 import java.util.Iterator;
015 import org.apache.maven.plugin.lifecycle.Execution;
016 import org.apache.maven.plugin.lifecycle.Lifecycle;
017 import org.apache.maven.plugin.lifecycle.LifecycleConfiguration;
018 import org.apache.maven.plugin.lifecycle.Phase;
019 import org.codehaus.plexus.util.xml.Xpp3Dom;
020 import org.codehaus.plexus.util.xml.pull.MXSerializer;
021 import org.codehaus.plexus.util.xml.pull.XmlSerializer;
022
023 /**
024 * Class LifecycleMappingsXpp3Writer.
025 *
026 * @version $Revision$ $Date$
027 */
028 @SuppressWarnings( "all" )
029 public class LifecycleMappingsXpp3Writer
030 {
031
032 //--------------------------/
033 //- Class/Member Variables -/
034 //--------------------------/
035
036 /**
037 * Field NAMESPACE.
038 */
039 private static final String NAMESPACE = null;
040
041
042 //-----------/
043 //- Methods -/
044 //-----------/
045
046 /**
047 * Method write.
048 *
049 * @param writer
050 * @param lifecycleConfiguration
051 * @throws java.io.IOException
052 */
053 public void write( Writer writer, LifecycleConfiguration lifecycleConfiguration )
054 throws java.io.IOException
055 {
056 XmlSerializer serializer = new MXSerializer();
057 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
058 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
059 serializer.setOutput( writer );
060 serializer.startDocument( lifecycleConfiguration.getModelEncoding(), null );
061 writeLifecycleConfiguration( lifecycleConfiguration, "lifecycles", serializer );
062 serializer.endDocument();
063 } //-- void write( Writer, LifecycleConfiguration )
064
065 /**
066 * Method write.
067 *
068 * @param stream
069 * @param lifecycleConfiguration
070 * @throws java.io.IOException
071 */
072 public void write( OutputStream stream, LifecycleConfiguration lifecycleConfiguration )
073 throws java.io.IOException
074 {
075 XmlSerializer serializer = new MXSerializer();
076 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
077 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
078 serializer.setOutput( stream, lifecycleConfiguration.getModelEncoding() );
079 serializer.startDocument( lifecycleConfiguration.getModelEncoding(), null );
080 writeLifecycleConfiguration( lifecycleConfiguration, "lifecycles", serializer );
081 serializer.endDocument();
082 } //-- void write( OutputStream, LifecycleConfiguration )
083
084 /**
085 * Method writeExecution.
086 *
087 * @param execution
088 * @param serializer
089 * @param tagName
090 * @throws java.io.IOException
091 */
092 private void writeExecution( Execution execution, String tagName, XmlSerializer serializer )
093 throws java.io.IOException
094 {
095 serializer.startTag( NAMESPACE, tagName );
096 if ( execution.getConfiguration() != null )
097 {
098 ((Xpp3Dom) execution.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
099 }
100 if ( ( execution.getGoals() != null ) && ( execution.getGoals().size() > 0 ) )
101 {
102 serializer.startTag( NAMESPACE, "goals" );
103 for ( Iterator iter = execution.getGoals().iterator(); iter.hasNext(); )
104 {
105 String goal = (String) iter.next();
106 serializer.startTag( NAMESPACE, "goal" ).text( goal ).endTag( NAMESPACE, "goal" );
107 }
108 serializer.endTag( NAMESPACE, "goals" );
109 }
110 serializer.endTag( NAMESPACE, tagName );
111 } //-- void writeExecution( Execution, String, XmlSerializer )
112
113 /**
114 * Method writeLifecycle.
115 *
116 * @param lifecycle
117 * @param serializer
118 * @param tagName
119 * @throws java.io.IOException
120 */
121 private void writeLifecycle( Lifecycle lifecycle, String tagName, XmlSerializer serializer )
122 throws java.io.IOException
123 {
124 serializer.startTag( NAMESPACE, tagName );
125 if ( lifecycle.getId() != null )
126 {
127 serializer.startTag( NAMESPACE, "id" ).text( lifecycle.getId() ).endTag( NAMESPACE, "id" );
128 }
129 if ( ( lifecycle.getPhases() != null ) && ( lifecycle.getPhases().size() > 0 ) )
130 {
131 serializer.startTag( NAMESPACE, "phases" );
132 for ( Iterator iter = lifecycle.getPhases().iterator(); iter.hasNext(); )
133 {
134 Phase o = (Phase) iter.next();
135 writePhase( o, "phase", serializer );
136 }
137 serializer.endTag( NAMESPACE, "phases" );
138 }
139 serializer.endTag( NAMESPACE, tagName );
140 } //-- void writeLifecycle( Lifecycle, String, XmlSerializer )
141
142 /**
143 * Method writeLifecycleConfiguration.
144 *
145 * @param lifecycleConfiguration
146 * @param serializer
147 * @param tagName
148 * @throws java.io.IOException
149 */
150 private void writeLifecycleConfiguration( LifecycleConfiguration lifecycleConfiguration, String tagName, XmlSerializer serializer )
151 throws java.io.IOException
152 {
153 serializer.setPrefix( "", "http://maven.apache.org/LIFECYCLE/1.0.0" );
154 serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
155 serializer.startTag( NAMESPACE, tagName );
156 serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/LIFECYCLE/1.0.0 http://maven.apache.org/xsd/lifecycle-1.0.0.xsd" );
157 if ( ( lifecycleConfiguration.getLifecycles() != null ) && ( lifecycleConfiguration.getLifecycles().size() > 0 ) )
158 {
159 for ( Iterator iter = lifecycleConfiguration.getLifecycles().iterator(); iter.hasNext(); )
160 {
161 Lifecycle o = (Lifecycle) iter.next();
162 writeLifecycle( o, "lifecycle", serializer );
163 }
164 }
165 serializer.endTag( NAMESPACE, tagName );
166 } //-- void writeLifecycleConfiguration( LifecycleConfiguration, String, XmlSerializer )
167
168 /**
169 * Method writePhase.
170 *
171 * @param phase
172 * @param serializer
173 * @param tagName
174 * @throws java.io.IOException
175 */
176 private void writePhase( Phase phase, String tagName, XmlSerializer serializer )
177 throws java.io.IOException
178 {
179 serializer.startTag( NAMESPACE, tagName );
180 if ( phase.getId() != null )
181 {
182 serializer.startTag( NAMESPACE, "id" ).text( phase.getId() ).endTag( NAMESPACE, "id" );
183 }
184 if ( ( phase.getExecutions() != null ) && ( phase.getExecutions().size() > 0 ) )
185 {
186 serializer.startTag( NAMESPACE, "executions" );
187 for ( Iterator iter = phase.getExecutions().iterator(); iter.hasNext(); )
188 {
189 Execution o = (Execution) iter.next();
190 writeExecution( o, "execution", serializer );
191 }
192 serializer.endTag( NAMESPACE, "executions" );
193 }
194 if ( phase.getConfiguration() != null )
195 {
196 ((Xpp3Dom) phase.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
197 }
198 serializer.endTag( NAMESPACE, tagName );
199 } //-- void writePhase( Phase, String, XmlSerializer )
200
201 }