001// =================== DO NOT EDIT THIS FILE ==================== 002// Generated by Modello 1.8.1, 003// any modifications will be overwritten. 004// ============================================================== 005 006package org.apache.maven.artifact.repository.metadata.io.xpp3; 007 008 //---------------------------------/ 009 //- Imported classes and packages -/ 010//---------------------------------/ 011 012import java.io.OutputStream; 013import java.io.Writer; 014import java.util.Iterator; 015import org.apache.maven.artifact.repository.metadata.Metadata; 016import org.apache.maven.artifact.repository.metadata.Plugin; 017import org.apache.maven.artifact.repository.metadata.Snapshot; 018import org.apache.maven.artifact.repository.metadata.SnapshotVersion; 019import org.apache.maven.artifact.repository.metadata.Versioning; 020import org.codehaus.plexus.util.xml.pull.MXSerializer; 021import org.codehaus.plexus.util.xml.pull.XmlSerializer; 022 023/** 024 * Class MetadataXpp3Writer. 025 * 026 * @version $Revision$ $Date$ 027 */ 028@SuppressWarnings( "all" ) 029public class MetadataXpp3Writer 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 metadata 051 * @throws java.io.IOException 052 */ 053 public void write( Writer writer, Metadata metadata ) 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( metadata.getModelEncoding(), null ); 061 writeMetadata( metadata, "metadata", serializer ); 062 serializer.endDocument(); 063 } //-- void write( Writer, Metadata ) 064 065 /** 066 * Method write. 067 * 068 * @param stream 069 * @param metadata 070 * @throws java.io.IOException 071 */ 072 public void write( OutputStream stream, Metadata metadata ) 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, metadata.getModelEncoding() ); 079 serializer.startDocument( metadata.getModelEncoding(), null ); 080 writeMetadata( metadata, "metadata", serializer ); 081 serializer.endDocument(); 082 } //-- void write( OutputStream, Metadata ) 083 084 /** 085 * Method writeMetadata. 086 * 087 * @param metadata 088 * @param serializer 089 * @param tagName 090 * @throws java.io.IOException 091 */ 092 private void writeMetadata( Metadata metadata, String tagName, XmlSerializer serializer ) 093 throws java.io.IOException 094 { 095 serializer.startTag( NAMESPACE, tagName ); 096 if ( metadata.getModelVersion() != null ) 097 { 098 serializer.attribute( NAMESPACE, "modelVersion", metadata.getModelVersion() ); 099 } 100 if ( metadata.getGroupId() != null ) 101 { 102 serializer.startTag( NAMESPACE, "groupId" ).text( metadata.getGroupId() ).endTag( NAMESPACE, "groupId" ); 103 } 104 if ( metadata.getArtifactId() != null ) 105 { 106 serializer.startTag( NAMESPACE, "artifactId" ).text( metadata.getArtifactId() ).endTag( NAMESPACE, "artifactId" ); 107 } 108 if ( metadata.getVersion() != null ) 109 { 110 serializer.startTag( NAMESPACE, "version" ).text( metadata.getVersion() ).endTag( NAMESPACE, "version" ); 111 } 112 if ( metadata.getVersioning() != null ) 113 { 114 writeVersioning( (Versioning) metadata.getVersioning(), "versioning", serializer ); 115 } 116 if ( ( metadata.getPlugins() != null ) && ( metadata.getPlugins().size() > 0 ) ) 117 { 118 serializer.startTag( NAMESPACE, "plugins" ); 119 for ( Iterator iter = metadata.getPlugins().iterator(); iter.hasNext(); ) 120 { 121 Plugin o = (Plugin) iter.next(); 122 writePlugin( o, "plugin", serializer ); 123 } 124 serializer.endTag( NAMESPACE, "plugins" ); 125 } 126 serializer.endTag( NAMESPACE, tagName ); 127 } //-- void writeMetadata( Metadata, String, XmlSerializer ) 128 129 /** 130 * Method writePlugin. 131 * 132 * @param plugin 133 * @param serializer 134 * @param tagName 135 * @throws java.io.IOException 136 */ 137 private void writePlugin( Plugin plugin, String tagName, XmlSerializer serializer ) 138 throws java.io.IOException 139 { 140 serializer.startTag( NAMESPACE, tagName ); 141 if ( plugin.getName() != null ) 142 { 143 serializer.startTag( NAMESPACE, "name" ).text( plugin.getName() ).endTag( NAMESPACE, "name" ); 144 } 145 if ( plugin.getPrefix() != null ) 146 { 147 serializer.startTag( NAMESPACE, "prefix" ).text( plugin.getPrefix() ).endTag( NAMESPACE, "prefix" ); 148 } 149 if ( plugin.getArtifactId() != null ) 150 { 151 serializer.startTag( NAMESPACE, "artifactId" ).text( plugin.getArtifactId() ).endTag( NAMESPACE, "artifactId" ); 152 } 153 serializer.endTag( NAMESPACE, tagName ); 154 } //-- void writePlugin( Plugin, String, XmlSerializer ) 155 156 /** 157 * Method writeSnapshot. 158 * 159 * @param snapshot 160 * @param serializer 161 * @param tagName 162 * @throws java.io.IOException 163 */ 164 private void writeSnapshot( Snapshot snapshot, String tagName, XmlSerializer serializer ) 165 throws java.io.IOException 166 { 167 serializer.startTag( NAMESPACE, tagName ); 168 if ( snapshot.getTimestamp() != null ) 169 { 170 serializer.startTag( NAMESPACE, "timestamp" ).text( snapshot.getTimestamp() ).endTag( NAMESPACE, "timestamp" ); 171 } 172 if ( snapshot.getBuildNumber() != 0 ) 173 { 174 serializer.startTag( NAMESPACE, "buildNumber" ).text( String.valueOf( snapshot.getBuildNumber() ) ).endTag( NAMESPACE, "buildNumber" ); 175 } 176 if ( snapshot.isLocalCopy() != false ) 177 { 178 serializer.startTag( NAMESPACE, "localCopy" ).text( String.valueOf( snapshot.isLocalCopy() ) ).endTag( NAMESPACE, "localCopy" ); 179 } 180 serializer.endTag( NAMESPACE, tagName ); 181 } //-- void writeSnapshot( Snapshot, String, XmlSerializer ) 182 183 /** 184 * Method writeSnapshotVersion. 185 * 186 * @param snapshotVersion 187 * @param serializer 188 * @param tagName 189 * @throws java.io.IOException 190 */ 191 private void writeSnapshotVersion( SnapshotVersion snapshotVersion, String tagName, XmlSerializer serializer ) 192 throws java.io.IOException 193 { 194 serializer.startTag( NAMESPACE, tagName ); 195 if ( ( snapshotVersion.getClassifier() != null ) && !snapshotVersion.getClassifier().equals( "" ) ) 196 { 197 serializer.startTag( NAMESPACE, "classifier" ).text( snapshotVersion.getClassifier() ).endTag( NAMESPACE, "classifier" ); 198 } 199 if ( snapshotVersion.getExtension() != null ) 200 { 201 serializer.startTag( NAMESPACE, "extension" ).text( snapshotVersion.getExtension() ).endTag( NAMESPACE, "extension" ); 202 } 203 if ( snapshotVersion.getVersion() != null ) 204 { 205 serializer.startTag( NAMESPACE, "value" ).text( snapshotVersion.getVersion() ).endTag( NAMESPACE, "value" ); 206 } 207 if ( snapshotVersion.getUpdated() != null ) 208 { 209 serializer.startTag( NAMESPACE, "updated" ).text( snapshotVersion.getUpdated() ).endTag( NAMESPACE, "updated" ); 210 } 211 serializer.endTag( NAMESPACE, tagName ); 212 } //-- void writeSnapshotVersion( SnapshotVersion, String, XmlSerializer ) 213 214 /** 215 * Method writeVersioning. 216 * 217 * @param versioning 218 * @param serializer 219 * @param tagName 220 * @throws java.io.IOException 221 */ 222 private void writeVersioning( Versioning versioning, String tagName, XmlSerializer serializer ) 223 throws java.io.IOException 224 { 225 serializer.startTag( NAMESPACE, tagName ); 226 if ( versioning.getLatest() != null ) 227 { 228 serializer.startTag( NAMESPACE, "latest" ).text( versioning.getLatest() ).endTag( NAMESPACE, "latest" ); 229 } 230 if ( versioning.getRelease() != null ) 231 { 232 serializer.startTag( NAMESPACE, "release" ).text( versioning.getRelease() ).endTag( NAMESPACE, "release" ); 233 } 234 if ( versioning.getSnapshot() != null ) 235 { 236 writeSnapshot( (Snapshot) versioning.getSnapshot(), "snapshot", serializer ); 237 } 238 if ( ( versioning.getVersions() != null ) && ( versioning.getVersions().size() > 0 ) ) 239 { 240 serializer.startTag( NAMESPACE, "versions" ); 241 for ( Iterator iter = versioning.getVersions().iterator(); iter.hasNext(); ) 242 { 243 String version = (String) iter.next(); 244 serializer.startTag( NAMESPACE, "version" ).text( version ).endTag( NAMESPACE, "version" ); 245 } 246 serializer.endTag( NAMESPACE, "versions" ); 247 } 248 if ( versioning.getLastUpdated() != null ) 249 { 250 serializer.startTag( NAMESPACE, "lastUpdated" ).text( versioning.getLastUpdated() ).endTag( NAMESPACE, "lastUpdated" ); 251 } 252 if ( ( versioning.getSnapshotVersions() != null ) && ( versioning.getSnapshotVersions().size() > 0 ) ) 253 { 254 serializer.startTag( NAMESPACE, "snapshotVersions" ); 255 for ( Iterator iter = versioning.getSnapshotVersions().iterator(); iter.hasNext(); ) 256 { 257 SnapshotVersion o = (SnapshotVersion) iter.next(); 258 writeSnapshotVersion( o, "snapshotVersion", serializer ); 259 } 260 serializer.endTag( NAMESPACE, "snapshotVersions" ); 261 } 262 serializer.endTag( NAMESPACE, tagName ); 263 } //-- void writeVersioning( Versioning, String, XmlSerializer ) 264 265}