001 /* 002 =================== DO NOT EDIT THIS FILE ==================== 003 Generated by Modello 1.4.1 on 2012-05-28 13:00:08, 004 any modifications will be overwritten. 005 ============================================================== 006 */ 007 008 package org.apache.maven.plugin.tools.model.io.xpp3; 009 010 //---------------------------------/ 011 //- Imported classes and packages -/ 012 //---------------------------------/ 013 014 import java.io.OutputStream; 015 import java.io.Writer; 016 import java.text.DateFormat; 017 import java.util.Iterator; 018 import java.util.Locale; 019 import org.apache.maven.plugin.tools.model.Component; 020 import org.apache.maven.plugin.tools.model.LifecycleExecution; 021 import org.apache.maven.plugin.tools.model.Mojo; 022 import org.apache.maven.plugin.tools.model.Parameter; 023 import org.apache.maven.plugin.tools.model.PluginMetadata; 024 import org.codehaus.plexus.util.xml.pull.MXSerializer; 025 import org.codehaus.plexus.util.xml.pull.XmlSerializer; 026 027 /** 028 * Class PluginMetadataXpp3Writer. 029 * 030 * @version $Revision$ $Date$ 031 */ 032 @SuppressWarnings( "all" ) 033 public class PluginMetadataXpp3Writer 034 { 035 036 //--------------------------/ 037 //- Class/Member Variables -/ 038 //--------------------------/ 039 040 /** 041 * Field NAMESPACE. 042 */ 043 private static final String NAMESPACE = null; 044 045 046 //-----------/ 047 //- Methods -/ 048 //-----------/ 049 050 /** 051 * Method write. 052 * 053 * @param writer 054 * @param pluginMetadata 055 * @throws java.io.IOException 056 */ 057 public void write( Writer writer, PluginMetadata pluginMetadata ) 058 throws java.io.IOException 059 { 060 XmlSerializer serializer = new MXSerializer(); 061 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " ); 062 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" ); 063 serializer.setOutput( writer ); 064 serializer.startDocument( pluginMetadata.getModelEncoding(), null ); 065 writePluginMetadata( pluginMetadata, "pluginMetadata", serializer ); 066 serializer.endDocument(); 067 } //-- void write( Writer, PluginMetadata ) 068 069 /** 070 * Method write. 071 * 072 * @param stream 073 * @param pluginMetadata 074 * @throws java.io.IOException 075 */ 076 public void write( OutputStream stream, PluginMetadata pluginMetadata ) 077 throws java.io.IOException 078 { 079 XmlSerializer serializer = new MXSerializer(); 080 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " ); 081 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" ); 082 serializer.setOutput( stream, pluginMetadata.getModelEncoding() ); 083 serializer.startDocument( pluginMetadata.getModelEncoding(), null ); 084 writePluginMetadata( pluginMetadata, "pluginMetadata", serializer ); 085 serializer.endDocument(); 086 } //-- void write( OutputStream, PluginMetadata ) 087 088 /** 089 * Method writeComponent. 090 * 091 * @param component 092 * @param serializer 093 * @param tagName 094 * @throws java.io.IOException 095 */ 096 private void writeComponent( Component component, String tagName, XmlSerializer serializer ) 097 throws java.io.IOException 098 { 099 serializer.startTag( NAMESPACE, tagName ); 100 if ( component.getRole() != null ) 101 { 102 serializer.startTag( NAMESPACE, "role" ).text( component.getRole() ).endTag( NAMESPACE, "role" ); 103 } 104 if ( component.getHint() != null ) 105 { 106 serializer.startTag( NAMESPACE, "hint" ).text( component.getHint() ).endTag( NAMESPACE, "hint" ); 107 } 108 serializer.endTag( NAMESPACE, tagName ); 109 } //-- void writeComponent( Component, String, XmlSerializer ) 110 111 /** 112 * Method writeLifecycleExecution. 113 * 114 * @param lifecycleExecution 115 * @param serializer 116 * @param tagName 117 * @throws java.io.IOException 118 */ 119 private void writeLifecycleExecution( LifecycleExecution lifecycleExecution, String tagName, XmlSerializer serializer ) 120 throws java.io.IOException 121 { 122 serializer.startTag( NAMESPACE, tagName ); 123 if ( lifecycleExecution.getLifecycle() != null ) 124 { 125 serializer.startTag( NAMESPACE, "lifecycle" ).text( lifecycleExecution.getLifecycle() ).endTag( NAMESPACE, "lifecycle" ); 126 } 127 if ( lifecycleExecution.getPhase() != null ) 128 { 129 serializer.startTag( NAMESPACE, "phase" ).text( lifecycleExecution.getPhase() ).endTag( NAMESPACE, "phase" ); 130 } 131 if ( lifecycleExecution.getGoal() != null ) 132 { 133 serializer.startTag( NAMESPACE, "goal" ).text( lifecycleExecution.getGoal() ).endTag( NAMESPACE, "goal" ); 134 } 135 serializer.endTag( NAMESPACE, tagName ); 136 } //-- void writeLifecycleExecution( LifecycleExecution, String, XmlSerializer ) 137 138 /** 139 * Method writeMojo. 140 * 141 * @param mojo 142 * @param serializer 143 * @param tagName 144 * @throws java.io.IOException 145 */ 146 private void writeMojo( Mojo mojo, String tagName, XmlSerializer serializer ) 147 throws java.io.IOException 148 { 149 serializer.startTag( NAMESPACE, tagName ); 150 if ( mojo.getGoal() != null ) 151 { 152 serializer.startTag( NAMESPACE, "goal" ).text( mojo.getGoal() ).endTag( NAMESPACE, "goal" ); 153 } 154 if ( mojo.getPhase() != null ) 155 { 156 serializer.startTag( NAMESPACE, "phase" ).text( mojo.getPhase() ).endTag( NAMESPACE, "phase" ); 157 } 158 if ( mojo.isAggregator() != false ) 159 { 160 serializer.startTag( NAMESPACE, "aggregator" ).text( String.valueOf( mojo.isAggregator() ) ).endTag( NAMESPACE, "aggregator" ); 161 } 162 if ( mojo.getRequiresDependencyResolution() != null ) 163 { 164 serializer.startTag( NAMESPACE, "requiresDependencyResolution" ).text( mojo.getRequiresDependencyResolution() ).endTag( NAMESPACE, "requiresDependencyResolution" ); 165 } 166 if ( mojo.isRequiresProject() != false ) 167 { 168 serializer.startTag( NAMESPACE, "requiresProject" ).text( String.valueOf( mojo.isRequiresProject() ) ).endTag( NAMESPACE, "requiresProject" ); 169 } 170 if ( mojo.isRequiresReports() != false ) 171 { 172 serializer.startTag( NAMESPACE, "requiresReports" ).text( String.valueOf( mojo.isRequiresReports() ) ).endTag( NAMESPACE, "requiresReports" ); 173 } 174 if ( mojo.isRequiresOnline() != false ) 175 { 176 serializer.startTag( NAMESPACE, "requiresOnline" ).text( String.valueOf( mojo.isRequiresOnline() ) ).endTag( NAMESPACE, "requiresOnline" ); 177 } 178 if ( mojo.isInheritByDefault() != false ) 179 { 180 serializer.startTag( NAMESPACE, "inheritByDefault" ).text( String.valueOf( mojo.isInheritByDefault() ) ).endTag( NAMESPACE, "inheritByDefault" ); 181 } 182 if ( mojo.isRequiresDirectInvocation() != false ) 183 { 184 serializer.startTag( NAMESPACE, "requiresDirectInvocation" ).text( String.valueOf( mojo.isRequiresDirectInvocation() ) ).endTag( NAMESPACE, "requiresDirectInvocation" ); 185 } 186 if ( mojo.getExecution() != null ) 187 { 188 writeLifecycleExecution( (LifecycleExecution) mojo.getExecution(), "execution", serializer ); 189 } 190 if ( ( mojo.getComponents() != null ) && ( mojo.getComponents().size() > 0 ) ) 191 { 192 serializer.startTag( NAMESPACE, "components" ); 193 for ( Iterator iter = mojo.getComponents().iterator(); iter.hasNext(); ) 194 { 195 Component o = (Component) iter.next(); 196 writeComponent( o, "component", serializer ); 197 } 198 serializer.endTag( NAMESPACE, "components" ); 199 } 200 if ( ( mojo.getParameters() != null ) && ( mojo.getParameters().size() > 0 ) ) 201 { 202 serializer.startTag( NAMESPACE, "parameters" ); 203 for ( Iterator iter = mojo.getParameters().iterator(); iter.hasNext(); ) 204 { 205 Parameter o = (Parameter) iter.next(); 206 writeParameter( o, "parameter", serializer ); 207 } 208 serializer.endTag( NAMESPACE, "parameters" ); 209 } 210 if ( mojo.getDescription() != null ) 211 { 212 serializer.startTag( NAMESPACE, "description" ).text( mojo.getDescription() ).endTag( NAMESPACE, "description" ); 213 } 214 if ( mojo.getDeprecation() != null ) 215 { 216 serializer.startTag( NAMESPACE, "deprecated" ).text( mojo.getDeprecation() ).endTag( NAMESPACE, "deprecated" ); 217 } 218 if ( mojo.getCall() != null ) 219 { 220 serializer.startTag( NAMESPACE, "call" ).text( mojo.getCall() ).endTag( NAMESPACE, "call" ); 221 } 222 serializer.endTag( NAMESPACE, tagName ); 223 } //-- void writeMojo( Mojo, String, XmlSerializer ) 224 225 /** 226 * Method writeParameter. 227 * 228 * @param parameter 229 * @param serializer 230 * @param tagName 231 * @throws java.io.IOException 232 */ 233 private void writeParameter( Parameter parameter, String tagName, XmlSerializer serializer ) 234 throws java.io.IOException 235 { 236 serializer.startTag( NAMESPACE, tagName ); 237 if ( parameter.getName() != null ) 238 { 239 serializer.startTag( NAMESPACE, "name" ).text( parameter.getName() ).endTag( NAMESPACE, "name" ); 240 } 241 if ( parameter.getAlias() != null ) 242 { 243 serializer.startTag( NAMESPACE, "alias" ).text( parameter.getAlias() ).endTag( NAMESPACE, "alias" ); 244 } 245 if ( parameter.getProperty() != null ) 246 { 247 serializer.startTag( NAMESPACE, "property" ).text( parameter.getProperty() ).endTag( NAMESPACE, "property" ); 248 } 249 if ( parameter.isRequired() != false ) 250 { 251 serializer.startTag( NAMESPACE, "required" ).text( String.valueOf( parameter.isRequired() ) ).endTag( NAMESPACE, "required" ); 252 } 253 if ( parameter.isReadonly() != false ) 254 { 255 serializer.startTag( NAMESPACE, "readonly" ).text( String.valueOf( parameter.isReadonly() ) ).endTag( NAMESPACE, "readonly" ); 256 } 257 if ( parameter.getExpression() != null ) 258 { 259 serializer.startTag( NAMESPACE, "expression" ).text( parameter.getExpression() ).endTag( NAMESPACE, "expression" ); 260 } 261 if ( parameter.getDefaultValue() != null ) 262 { 263 serializer.startTag( NAMESPACE, "defaultValue" ).text( parameter.getDefaultValue() ).endTag( NAMESPACE, "defaultValue" ); 264 } 265 if ( parameter.getType() != null ) 266 { 267 serializer.startTag( NAMESPACE, "type" ).text( parameter.getType() ).endTag( NAMESPACE, "type" ); 268 } 269 if ( parameter.getDescription() != null ) 270 { 271 serializer.startTag( NAMESPACE, "description" ).text( parameter.getDescription() ).endTag( NAMESPACE, "description" ); 272 } 273 if ( parameter.getDeprecation() != null ) 274 { 275 serializer.startTag( NAMESPACE, "deprecated" ).text( parameter.getDeprecation() ).endTag( NAMESPACE, "deprecated" ); 276 } 277 serializer.endTag( NAMESPACE, tagName ); 278 } //-- void writeParameter( Parameter, String, XmlSerializer ) 279 280 /** 281 * Method writePluginMetadata. 282 * 283 * @param pluginMetadata 284 * @param serializer 285 * @param tagName 286 * @throws java.io.IOException 287 */ 288 private void writePluginMetadata( PluginMetadata pluginMetadata, String tagName, XmlSerializer serializer ) 289 throws java.io.IOException 290 { 291 serializer.startTag( NAMESPACE, tagName ); 292 if ( ( pluginMetadata.getMojos() != null ) && ( pluginMetadata.getMojos().size() > 0 ) ) 293 { 294 serializer.startTag( NAMESPACE, "mojos" ); 295 for ( Iterator iter = pluginMetadata.getMojos().iterator(); iter.hasNext(); ) 296 { 297 Mojo o = (Mojo) iter.next(); 298 writeMojo( o, "mojo", serializer ); 299 } 300 serializer.endTag( NAMESPACE, "mojos" ); 301 } 302 serializer.endTag( NAMESPACE, tagName ); 303 } //-- void writePluginMetadata( PluginMetadata, String, XmlSerializer ) 304 305 }