View Javadoc

1   /*
2    =================== DO NOT EDIT THIS FILE ====================
3    Generated by Modello 1.4.1 on 2012-01-20 18:05:12,
4    any modifications will be overwritten.
5    ==============================================================
6    */
7   
8   package org.apache.maven.artifact.repository.metadata.io.xpp3;
9   
10    //---------------------------------/
11   //- Imported classes and packages -/
12  //---------------------------------/
13  
14  import java.io.OutputStream;
15  import java.io.Writer;
16  import java.text.DateFormat;
17  import java.util.Iterator;
18  import java.util.Locale;
19  import org.apache.maven.artifact.repository.metadata.Metadata;
20  import org.apache.maven.artifact.repository.metadata.Plugin;
21  import org.apache.maven.artifact.repository.metadata.Snapshot;
22  import org.apache.maven.artifact.repository.metadata.SnapshotVersion;
23  import org.apache.maven.artifact.repository.metadata.Versioning;
24  import org.codehaus.plexus.util.xml.pull.MXSerializer;
25  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
26  
27  /**
28   * Class MetadataXpp3Writer.
29   * 
30   * @version $Revision$ $Date$
31   */
32  @SuppressWarnings( "all" )
33  public class MetadataXpp3Writer
34  {
35  
36        //--------------------------/
37       //- Class/Member Variables -/
38      //--------------------------/
39  
40      /**
41       * Field NAMESPACE.
42       */
43      private static final String NAMESPACE = null;
44  
45  
46        //-----------/
47       //- Methods -/
48      //-----------/
49  
50      /**
51       * Method write.
52       * 
53       * @param writer
54       * @param metadata
55       * @throws java.io.IOException
56       */
57      public void write( Writer writer, Metadata metadata )
58          throws java.io.IOException
59      {
60          XmlSerializer serializer = new MXSerializer();
61          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
62          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
63          serializer.setOutput( writer );
64          serializer.startDocument( metadata.getModelEncoding(), null );
65          writeMetadata( metadata, "metadata", serializer );
66          serializer.endDocument();
67      } //-- void write( Writer, Metadata )
68  
69      /**
70       * Method write.
71       * 
72       * @param stream
73       * @param metadata
74       * @throws java.io.IOException
75       */
76      public void write( OutputStream stream, Metadata metadata )
77          throws java.io.IOException
78      {
79          XmlSerializer serializer = new MXSerializer();
80          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
81          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
82          serializer.setOutput( stream, metadata.getModelEncoding() );
83          serializer.startDocument( metadata.getModelEncoding(), null );
84          writeMetadata( metadata, "metadata", serializer );
85          serializer.endDocument();
86      } //-- void write( OutputStream, Metadata )
87  
88      /**
89       * Method writeMetadata.
90       * 
91       * @param metadata
92       * @param serializer
93       * @param tagName
94       * @throws java.io.IOException
95       */
96      private void writeMetadata( Metadata metadata, String tagName, XmlSerializer serializer )
97          throws java.io.IOException
98      {
99          serializer.startTag( NAMESPACE, tagName );
100         if ( metadata.getModelVersion() != null )
101         {
102             serializer.attribute( NAMESPACE, "modelVersion", metadata.getModelVersion() );
103         }
104         if ( metadata.getGroupId() != null )
105         {
106             serializer.startTag( NAMESPACE, "groupId" ).text( metadata.getGroupId() ).endTag( NAMESPACE, "groupId" );
107         }
108         if ( metadata.getArtifactId() != null )
109         {
110             serializer.startTag( NAMESPACE, "artifactId" ).text( metadata.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
111         }
112         if ( metadata.getVersion() != null )
113         {
114             serializer.startTag( NAMESPACE, "version" ).text( metadata.getVersion() ).endTag( NAMESPACE, "version" );
115         }
116         if ( metadata.getVersioning() != null )
117         {
118             writeVersioning( (Versioning) metadata.getVersioning(), "versioning", serializer );
119         }
120         if ( ( metadata.getPlugins() != null ) && ( metadata.getPlugins().size() > 0 ) )
121         {
122             serializer.startTag( NAMESPACE, "plugins" );
123             for ( Iterator iter = metadata.getPlugins().iterator(); iter.hasNext(); )
124             {
125                 Plugin o = (Plugin) iter.next();
126                 writePlugin( o, "plugin", serializer );
127             }
128             serializer.endTag( NAMESPACE, "plugins" );
129         }
130         serializer.endTag( NAMESPACE, tagName );
131     } //-- void writeMetadata( Metadata, String, XmlSerializer )
132 
133     /**
134      * Method writePlugin.
135      * 
136      * @param plugin
137      * @param serializer
138      * @param tagName
139      * @throws java.io.IOException
140      */
141     private void writePlugin( Plugin plugin, String tagName, XmlSerializer serializer )
142         throws java.io.IOException
143     {
144         serializer.startTag( NAMESPACE, tagName );
145         if ( plugin.getName() != null )
146         {
147             serializer.startTag( NAMESPACE, "name" ).text( plugin.getName() ).endTag( NAMESPACE, "name" );
148         }
149         if ( plugin.getPrefix() != null )
150         {
151             serializer.startTag( NAMESPACE, "prefix" ).text( plugin.getPrefix() ).endTag( NAMESPACE, "prefix" );
152         }
153         if ( plugin.getArtifactId() != null )
154         {
155             serializer.startTag( NAMESPACE, "artifactId" ).text( plugin.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
156         }
157         serializer.endTag( NAMESPACE, tagName );
158     } //-- void writePlugin( Plugin, String, XmlSerializer )
159 
160     /**
161      * Method writeSnapshot.
162      * 
163      * @param snapshot
164      * @param serializer
165      * @param tagName
166      * @throws java.io.IOException
167      */
168     private void writeSnapshot( Snapshot snapshot, String tagName, XmlSerializer serializer )
169         throws java.io.IOException
170     {
171         serializer.startTag( NAMESPACE, tagName );
172         if ( snapshot.getTimestamp() != null )
173         {
174             serializer.startTag( NAMESPACE, "timestamp" ).text( snapshot.getTimestamp() ).endTag( NAMESPACE, "timestamp" );
175         }
176         if ( snapshot.getBuildNumber() != 0 )
177         {
178             serializer.startTag( NAMESPACE, "buildNumber" ).text( String.valueOf( snapshot.getBuildNumber() ) ).endTag( NAMESPACE, "buildNumber" );
179         }
180         if ( snapshot.isLocalCopy() != false )
181         {
182             serializer.startTag( NAMESPACE, "localCopy" ).text( String.valueOf( snapshot.isLocalCopy() ) ).endTag( NAMESPACE, "localCopy" );
183         }
184         serializer.endTag( NAMESPACE, tagName );
185     } //-- void writeSnapshot( Snapshot, String, XmlSerializer )
186 
187     /**
188      * Method writeSnapshotVersion.
189      * 
190      * @param snapshotVersion
191      * @param serializer
192      * @param tagName
193      * @throws java.io.IOException
194      */
195     private void writeSnapshotVersion( SnapshotVersion snapshotVersion, String tagName, XmlSerializer serializer )
196         throws java.io.IOException
197     {
198         serializer.startTag( NAMESPACE, tagName );
199         if ( ( snapshotVersion.getClassifier() != null ) && !snapshotVersion.getClassifier().equals( "" ) )
200         {
201             serializer.startTag( NAMESPACE, "classifier" ).text( snapshotVersion.getClassifier() ).endTag( NAMESPACE, "classifier" );
202         }
203         if ( snapshotVersion.getExtension() != null )
204         {
205             serializer.startTag( NAMESPACE, "extension" ).text( snapshotVersion.getExtension() ).endTag( NAMESPACE, "extension" );
206         }
207         if ( snapshotVersion.getVersion() != null )
208         {
209             serializer.startTag( NAMESPACE, "value" ).text( snapshotVersion.getVersion() ).endTag( NAMESPACE, "value" );
210         }
211         if ( snapshotVersion.getUpdated() != null )
212         {
213             serializer.startTag( NAMESPACE, "updated" ).text( snapshotVersion.getUpdated() ).endTag( NAMESPACE, "updated" );
214         }
215         serializer.endTag( NAMESPACE, tagName );
216     } //-- void writeSnapshotVersion( SnapshotVersion, String, XmlSerializer )
217 
218     /**
219      * Method writeVersioning.
220      * 
221      * @param versioning
222      * @param serializer
223      * @param tagName
224      * @throws java.io.IOException
225      */
226     private void writeVersioning( Versioning versioning, String tagName, XmlSerializer serializer )
227         throws java.io.IOException
228     {
229         serializer.startTag( NAMESPACE, tagName );
230         if ( versioning.getLatest() != null )
231         {
232             serializer.startTag( NAMESPACE, "latest" ).text( versioning.getLatest() ).endTag( NAMESPACE, "latest" );
233         }
234         if ( versioning.getRelease() != null )
235         {
236             serializer.startTag( NAMESPACE, "release" ).text( versioning.getRelease() ).endTag( NAMESPACE, "release" );
237         }
238         if ( versioning.getSnapshot() != null )
239         {
240             writeSnapshot( (Snapshot) versioning.getSnapshot(), "snapshot", serializer );
241         }
242         if ( ( versioning.getVersions() != null ) && ( versioning.getVersions().size() > 0 ) )
243         {
244             serializer.startTag( NAMESPACE, "versions" );
245             for ( Iterator iter = versioning.getVersions().iterator(); iter.hasNext(); )
246             {
247                 String version = (String) iter.next();
248                 serializer.startTag( NAMESPACE, "version" ).text( version ).endTag( NAMESPACE, "version" );
249             }
250             serializer.endTag( NAMESPACE, "versions" );
251         }
252         if ( versioning.getLastUpdated() != null )
253         {
254             serializer.startTag( NAMESPACE, "lastUpdated" ).text( versioning.getLastUpdated() ).endTag( NAMESPACE, "lastUpdated" );
255         }
256         if ( ( versioning.getSnapshotVersions() != null ) && ( versioning.getSnapshotVersions().size() > 0 ) )
257         {
258             serializer.startTag( NAMESPACE, "snapshotVersions" );
259             for ( Iterator iter = versioning.getSnapshotVersions().iterator(); iter.hasNext(); )
260             {
261                 SnapshotVersion o = (SnapshotVersion) iter.next();
262                 writeSnapshotVersion( o, "snapshotVersion", serializer );
263             }
264             serializer.endTag( NAMESPACE, "snapshotVersions" );
265         }
266         serializer.endTag( NAMESPACE, tagName );
267     } //-- void writeVersioning( Versioning, String, XmlSerializer )
268 
269 }