001 /* 002 =================== DO NOT EDIT THIS FILE ==================== 003 Generated by Modello 1.4.1 on 2013-02-24 03:31:03, 004 any modifications will be overwritten. 005 ============================================================== 006 */ 007 008 package org.apache.maven.plugin.descriptor.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.descriptor.model.Configuration; 020 import org.apache.maven.plugin.descriptor.model.Dependency; 021 import org.apache.maven.plugin.descriptor.model.MojoDescriptor; 022 import org.apache.maven.plugin.descriptor.model.Parameter; 023 import org.apache.maven.plugin.descriptor.model.PluginDescriptor; 024 import org.apache.maven.plugin.descriptor.model.Requirement; 025 import org.codehaus.plexus.util.xml.pull.MXSerializer; 026 import org.codehaus.plexus.util.xml.pull.XmlSerializer; 027 028 /** 029 * Class PluginDescriptorXpp3Writer. 030 * 031 * @version $Revision$ $Date$ 032 */ 033 @SuppressWarnings( "all" ) 034 public class PluginDescriptorXpp3Writer 035 { 036 037 //--------------------------/ 038 //- Class/Member Variables -/ 039 //--------------------------/ 040 041 /** 042 * Field NAMESPACE. 043 */ 044 private static final String NAMESPACE = null; 045 046 047 //-----------/ 048 //- Methods -/ 049 //-----------/ 050 051 /** 052 * Method write. 053 * 054 * @param writer 055 * @param pluginDescriptor 056 * @throws java.io.IOException 057 */ 058 public void write( Writer writer, PluginDescriptor pluginDescriptor ) 059 throws java.io.IOException 060 { 061 XmlSerializer serializer = new MXSerializer(); 062 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " ); 063 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" ); 064 serializer.setOutput( writer ); 065 serializer.startDocument( pluginDescriptor.getModelEncoding(), null ); 066 writePluginDescriptor( pluginDescriptor, "plugin", serializer ); 067 serializer.endDocument(); 068 } //-- void write( Writer, PluginDescriptor ) 069 070 /** 071 * Method write. 072 * 073 * @param stream 074 * @param pluginDescriptor 075 * @throws java.io.IOException 076 */ 077 public void write( OutputStream stream, PluginDescriptor pluginDescriptor ) 078 throws java.io.IOException 079 { 080 XmlSerializer serializer = new MXSerializer(); 081 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " ); 082 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" ); 083 serializer.setOutput( stream, pluginDescriptor.getModelEncoding() ); 084 serializer.startDocument( pluginDescriptor.getModelEncoding(), null ); 085 writePluginDescriptor( pluginDescriptor, "plugin", serializer ); 086 serializer.endDocument(); 087 } //-- void write( OutputStream, PluginDescriptor ) 088 089 /** 090 * Method writeConfiguration. 091 * 092 * @param configuration 093 * @param serializer 094 * @param tagName 095 * @throws java.io.IOException 096 */ 097 private void writeConfiguration( Configuration configuration, String tagName, XmlSerializer serializer ) 098 throws java.io.IOException 099 { 100 serializer.startTag( NAMESPACE, tagName ); 101 if ( configuration.getImplementation() != null ) 102 { 103 serializer.attribute( NAMESPACE, "implementation", configuration.getImplementation() ); 104 } 105 if ( configuration.getDefaultValue() != null ) 106 { 107 serializer.attribute( NAMESPACE, "default-value", configuration.getDefaultValue() ); 108 } 109 serializer.text( configuration.getExpression() ); 110 serializer.endTag( NAMESPACE, tagName ); 111 } //-- void writeConfiguration( Configuration, String, XmlSerializer ) 112 113 /** 114 * Method writeDependency. 115 * 116 * @param dependency 117 * @param serializer 118 * @param tagName 119 * @throws java.io.IOException 120 */ 121 private void writeDependency( Dependency dependency, String tagName, XmlSerializer serializer ) 122 throws java.io.IOException 123 { 124 serializer.startTag( NAMESPACE, tagName ); 125 if ( dependency.getGroupId() != null ) 126 { 127 serializer.startTag( NAMESPACE, "groupId" ).text( dependency.getGroupId() ).endTag( NAMESPACE, "groupId" ); 128 } 129 if ( dependency.getArtifactId() != null ) 130 { 131 serializer.startTag( NAMESPACE, "artifactId" ).text( dependency.getArtifactId() ).endTag( NAMESPACE, "artifactId" ); 132 } 133 if ( dependency.getVersion() != null ) 134 { 135 serializer.startTag( NAMESPACE, "version" ).text( dependency.getVersion() ).endTag( NAMESPACE, "version" ); 136 } 137 if ( ( dependency.getType() != null ) && !dependency.getType().equals( "jar" ) ) 138 { 139 serializer.startTag( NAMESPACE, "type" ).text( dependency.getType() ).endTag( NAMESPACE, "type" ); 140 } 141 serializer.endTag( NAMESPACE, tagName ); 142 } //-- void writeDependency( Dependency, String, XmlSerializer ) 143 144 /** 145 * Method writeMojoDescriptor. 146 * 147 * @param mojoDescriptor 148 * @param serializer 149 * @param tagName 150 * @throws java.io.IOException 151 */ 152 private void writeMojoDescriptor( MojoDescriptor mojoDescriptor, String tagName, XmlSerializer serializer ) 153 throws java.io.IOException 154 { 155 serializer.startTag( NAMESPACE, tagName ); 156 if ( mojoDescriptor.getGoal() != null ) 157 { 158 serializer.startTag( NAMESPACE, "goal" ).text( mojoDescriptor.getGoal() ).endTag( NAMESPACE, "goal" ); 159 } 160 if ( mojoDescriptor.getDescription() != null ) 161 { 162 serializer.startTag( NAMESPACE, "description" ).text( mojoDescriptor.getDescription() ).endTag( NAMESPACE, "description" ); 163 } 164 if ( mojoDescriptor.getImplementation() != null ) 165 { 166 serializer.startTag( NAMESPACE, "implementation" ).text( mojoDescriptor.getImplementation() ).endTag( NAMESPACE, "implementation" ); 167 } 168 if ( ( mojoDescriptor.getLanguage() != null ) && !mojoDescriptor.getLanguage().equals( "java" ) ) 169 { 170 serializer.startTag( NAMESPACE, "language" ).text( mojoDescriptor.getLanguage() ).endTag( NAMESPACE, "language" ); 171 } 172 if ( mojoDescriptor.getPhase() != null ) 173 { 174 serializer.startTag( NAMESPACE, "phase" ).text( mojoDescriptor.getPhase() ).endTag( NAMESPACE, "phase" ); 175 } 176 if ( mojoDescriptor.getExecutePhase() != null ) 177 { 178 serializer.startTag( NAMESPACE, "executePhase" ).text( mojoDescriptor.getExecutePhase() ).endTag( NAMESPACE, "executePhase" ); 179 } 180 if ( mojoDescriptor.getExecuteGoal() != null ) 181 { 182 serializer.startTag( NAMESPACE, "executeGoal" ).text( mojoDescriptor.getExecuteGoal() ).endTag( NAMESPACE, "executeGoal" ); 183 } 184 if ( mojoDescriptor.getExecuteLifecycle() != null ) 185 { 186 serializer.startTag( NAMESPACE, "executeLifecycle" ).text( mojoDescriptor.getExecuteLifecycle() ).endTag( NAMESPACE, "executeLifecycle" ); 187 } 188 if ( ( mojoDescriptor.getRequiresDependencyResolution() != null ) && !mojoDescriptor.getRequiresDependencyResolution().equals( "runtime" ) ) 189 { 190 serializer.startTag( NAMESPACE, "requiresDependencyResolution" ).text( mojoDescriptor.getRequiresDependencyResolution() ).endTag( NAMESPACE, "requiresDependencyResolution" ); 191 } 192 if ( mojoDescriptor.getRequiresDependencyCollection() != null ) 193 { 194 serializer.startTag( NAMESPACE, "requiresDependencyCollection" ).text( mojoDescriptor.getRequiresDependencyCollection() ).endTag( NAMESPACE, "requiresDependencyCollection" ); 195 } 196 if ( mojoDescriptor.isRequiresDirectInvocation() != false ) 197 { 198 serializer.startTag( NAMESPACE, "requiresDirectInvocation" ).text( String.valueOf( mojoDescriptor.isRequiresDirectInvocation() ) ).endTag( NAMESPACE, "requiresDirectInvocation" ); 199 } 200 if ( mojoDescriptor.isRequiresProject() != true ) 201 { 202 serializer.startTag( NAMESPACE, "requiresProject" ).text( String.valueOf( mojoDescriptor.isRequiresProject() ) ).endTag( NAMESPACE, "requiresProject" ); 203 } 204 if ( mojoDescriptor.isRequiresReports() != false ) 205 { 206 serializer.startTag( NAMESPACE, "requiresReports" ).text( String.valueOf( mojoDescriptor.isRequiresReports() ) ).endTag( NAMESPACE, "requiresReports" ); 207 } 208 if ( mojoDescriptor.isRequiresOnline() != false ) 209 { 210 serializer.startTag( NAMESPACE, "requiresOnline" ).text( String.valueOf( mojoDescriptor.isRequiresOnline() ) ).endTag( NAMESPACE, "requiresOnline" ); 211 } 212 if ( mojoDescriptor.isAggregator() != false ) 213 { 214 serializer.startTag( NAMESPACE, "aggregator" ).text( String.valueOf( mojoDescriptor.isAggregator() ) ).endTag( NAMESPACE, "aggregator" ); 215 } 216 if ( mojoDescriptor.isInheritedByDefault() != true ) 217 { 218 serializer.startTag( NAMESPACE, "inheritedByDefault" ).text( String.valueOf( mojoDescriptor.isInheritedByDefault() ) ).endTag( NAMESPACE, "inheritedByDefault" ); 219 } 220 if ( mojoDescriptor.isThreadSafe() != false ) 221 { 222 serializer.startTag( NAMESPACE, "threadSafe" ).text( String.valueOf( mojoDescriptor.isThreadSafe() ) ).endTag( NAMESPACE, "threadSafe" ); 223 } 224 if ( ( mojoDescriptor.getInstantiationStrategy() != null ) && !mojoDescriptor.getInstantiationStrategy().equals( "per-lookup" ) ) 225 { 226 serializer.startTag( NAMESPACE, "instantiationStrategy" ).text( mojoDescriptor.getInstantiationStrategy() ).endTag( NAMESPACE, "instantiationStrategy" ); 227 } 228 if ( mojoDescriptor.getExecutionStrategy() != null ) 229 { 230 serializer.startTag( NAMESPACE, "executionStrategy" ).text( mojoDescriptor.getExecutionStrategy() ).endTag( NAMESPACE, "executionStrategy" ); 231 } 232 if ( mojoDescriptor.getSince() != null ) 233 { 234 serializer.startTag( NAMESPACE, "since" ).text( mojoDescriptor.getSince() ).endTag( NAMESPACE, "since" ); 235 } 236 if ( mojoDescriptor.getDeprecated() != null ) 237 { 238 serializer.startTag( NAMESPACE, "deprecated" ).text( mojoDescriptor.getDeprecated() ).endTag( NAMESPACE, "deprecated" ); 239 } 240 if ( mojoDescriptor.getConfigurator() != null ) 241 { 242 serializer.startTag( NAMESPACE, "configurator" ).text( mojoDescriptor.getConfigurator() ).endTag( NAMESPACE, "configurator" ); 243 } 244 if ( mojoDescriptor.getComposer() != null ) 245 { 246 serializer.startTag( NAMESPACE, "composer" ).text( mojoDescriptor.getComposer() ).endTag( NAMESPACE, "composer" ); 247 } 248 if ( ( mojoDescriptor.getParameters() != null ) && ( mojoDescriptor.getParameters().size() > 0 ) ) 249 { 250 serializer.startTag( NAMESPACE, "parameters" ); 251 for ( Iterator iter = mojoDescriptor.getParameters().iterator(); iter.hasNext(); ) 252 { 253 Parameter o = (Parameter) iter.next(); 254 writeParameter( o, "parameter", serializer ); 255 } 256 serializer.endTag( NAMESPACE, "parameters" ); 257 } 258 if ( ( mojoDescriptor.getConfiguration() != null ) && ( mojoDescriptor.getConfiguration().size() > 0 ) ) 259 { 260 serializer.startTag( NAMESPACE, "configuration" ); 261 for ( Iterator iter = mojoDescriptor.getConfiguration().iterator(); iter.hasNext(); ) 262 { 263 Configuration o = (Configuration) iter.next(); 264 writeConfiguration( o, "paramName", serializer ); 265 } 266 serializer.endTag( NAMESPACE, "configuration" ); 267 } 268 if ( ( mojoDescriptor.getRequirements() != null ) && ( mojoDescriptor.getRequirements().size() > 0 ) ) 269 { 270 serializer.startTag( NAMESPACE, "requirements" ); 271 for ( Iterator iter = mojoDescriptor.getRequirements().iterator(); iter.hasNext(); ) 272 { 273 Requirement o = (Requirement) iter.next(); 274 writeRequirement( o, "requirement", serializer ); 275 } 276 serializer.endTag( NAMESPACE, "requirements" ); 277 } 278 serializer.endTag( NAMESPACE, tagName ); 279 } //-- void writeMojoDescriptor( MojoDescriptor, String, XmlSerializer ) 280 281 /** 282 * Method writeParameter. 283 * 284 * @param parameter 285 * @param serializer 286 * @param tagName 287 * @throws java.io.IOException 288 */ 289 private void writeParameter( Parameter parameter, String tagName, XmlSerializer serializer ) 290 throws java.io.IOException 291 { 292 serializer.startTag( NAMESPACE, tagName ); 293 if ( parameter.getName() != null ) 294 { 295 serializer.startTag( NAMESPACE, "name" ).text( parameter.getName() ).endTag( NAMESPACE, "name" ); 296 } 297 if ( parameter.getAlias() != null ) 298 { 299 serializer.startTag( NAMESPACE, "alias" ).text( parameter.getAlias() ).endTag( NAMESPACE, "alias" ); 300 } 301 if ( parameter.getType() != null ) 302 { 303 serializer.startTag( NAMESPACE, "type" ).text( parameter.getType() ).endTag( NAMESPACE, "type" ); 304 } 305 if ( parameter.isRequired() != false ) 306 { 307 serializer.startTag( NAMESPACE, "required" ).text( String.valueOf( parameter.isRequired() ) ).endTag( NAMESPACE, "required" ); 308 } 309 if ( parameter.isEditable() != true ) 310 { 311 serializer.startTag( NAMESPACE, "editable" ).text( String.valueOf( parameter.isEditable() ) ).endTag( NAMESPACE, "editable" ); 312 } 313 if ( parameter.getImplementation() != null ) 314 { 315 serializer.startTag( NAMESPACE, "implementation" ).text( parameter.getImplementation() ).endTag( NAMESPACE, "implementation" ); 316 } 317 if ( parameter.getDescription() != null ) 318 { 319 serializer.startTag( NAMESPACE, "description" ).text( parameter.getDescription() ).endTag( NAMESPACE, "description" ); 320 } 321 if ( parameter.getSince() != null ) 322 { 323 serializer.startTag( NAMESPACE, "since" ).text( parameter.getSince() ).endTag( NAMESPACE, "since" ); 324 } 325 if ( parameter.getDeprecated() != null ) 326 { 327 serializer.startTag( NAMESPACE, "deprecated" ).text( parameter.getDeprecated() ).endTag( NAMESPACE, "deprecated" ); 328 } 329 serializer.endTag( NAMESPACE, tagName ); 330 } //-- void writeParameter( Parameter, String, XmlSerializer ) 331 332 /** 333 * Method writePluginDescriptor. 334 * 335 * @param pluginDescriptor 336 * @param serializer 337 * @param tagName 338 * @throws java.io.IOException 339 */ 340 private void writePluginDescriptor( PluginDescriptor pluginDescriptor, String tagName, XmlSerializer serializer ) 341 throws java.io.IOException 342 { 343 serializer.setPrefix( "", "http://maven.apache.org/PLUGIN/1.0.0" ); 344 serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" ); 345 serializer.startTag( NAMESPACE, tagName ); 346 serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/PLUGIN/1.0.0 http://maven.apache.org/xsd/plugin-1.0.0.xsd" ); 347 if ( pluginDescriptor.getDescription() != null ) 348 { 349 serializer.startTag( NAMESPACE, "description" ).text( pluginDescriptor.getDescription() ).endTag( NAMESPACE, "description" ); 350 } 351 if ( pluginDescriptor.getGroupId() != null ) 352 { 353 serializer.startTag( NAMESPACE, "groupId" ).text( pluginDescriptor.getGroupId() ).endTag( NAMESPACE, "groupId" ); 354 } 355 if ( pluginDescriptor.getArtifactId() != null ) 356 { 357 serializer.startTag( NAMESPACE, "artifactId" ).text( pluginDescriptor.getArtifactId() ).endTag( NAMESPACE, "artifactId" ); 358 } 359 if ( pluginDescriptor.getVersion() != null ) 360 { 361 serializer.startTag( NAMESPACE, "version" ).text( pluginDescriptor.getVersion() ).endTag( NAMESPACE, "version" ); 362 } 363 if ( pluginDescriptor.getGoalPrefix() != null ) 364 { 365 serializer.startTag( NAMESPACE, "goalPrefix" ).text( pluginDescriptor.getGoalPrefix() ).endTag( NAMESPACE, "goalPrefix" ); 366 } 367 if ( pluginDescriptor.isIsolatedRealm() != false ) 368 { 369 serializer.startTag( NAMESPACE, "isolatedRealm" ).text( String.valueOf( pluginDescriptor.isIsolatedRealm() ) ).endTag( NAMESPACE, "isolatedRealm" ); 370 } 371 if ( pluginDescriptor.isInheritedByDefault() != true ) 372 { 373 serializer.startTag( NAMESPACE, "inheritedByDefault" ).text( String.valueOf( pluginDescriptor.isInheritedByDefault() ) ).endTag( NAMESPACE, "inheritedByDefault" ); 374 } 375 if ( ( pluginDescriptor.getMojos() != null ) && ( pluginDescriptor.getMojos().size() > 0 ) ) 376 { 377 serializer.startTag( NAMESPACE, "mojos" ); 378 for ( Iterator iter = pluginDescriptor.getMojos().iterator(); iter.hasNext(); ) 379 { 380 MojoDescriptor o = (MojoDescriptor) iter.next(); 381 writeMojoDescriptor( o, "mojo", serializer ); 382 } 383 serializer.endTag( NAMESPACE, "mojos" ); 384 } 385 if ( ( pluginDescriptor.getDependencies() != null ) && ( pluginDescriptor.getDependencies().size() > 0 ) ) 386 { 387 serializer.startTag( NAMESPACE, "dependencies" ); 388 for ( Iterator iter = pluginDescriptor.getDependencies().iterator(); iter.hasNext(); ) 389 { 390 Dependency o = (Dependency) iter.next(); 391 writeDependency( o, "dependency", serializer ); 392 } 393 serializer.endTag( NAMESPACE, "dependencies" ); 394 } 395 serializer.endTag( NAMESPACE, tagName ); 396 } //-- void writePluginDescriptor( PluginDescriptor, String, XmlSerializer ) 397 398 /** 399 * Method writeRequirement. 400 * 401 * @param requirement 402 * @param serializer 403 * @param tagName 404 * @throws java.io.IOException 405 */ 406 private void writeRequirement( Requirement requirement, String tagName, XmlSerializer serializer ) 407 throws java.io.IOException 408 { 409 serializer.startTag( NAMESPACE, tagName ); 410 if ( requirement.getRole() != null ) 411 { 412 serializer.startTag( NAMESPACE, "role" ).text( requirement.getRole() ).endTag( NAMESPACE, "role" ); 413 } 414 if ( requirement.getRoleHint() != null ) 415 { 416 serializer.startTag( NAMESPACE, "role-hint" ).text( requirement.getRoleHint() ).endTag( NAMESPACE, "role-hint" ); 417 } 418 if ( requirement.getFieldName() != null ) 419 { 420 serializer.startTag( NAMESPACE, "field-name" ).text( requirement.getFieldName() ).endTag( NAMESPACE, "field-name" ); 421 } 422 serializer.endTag( NAMESPACE, tagName ); 423 } //-- void writeRequirement( Requirement, String, XmlSerializer ) 424 425 }