View Javadoc
1   /*
2    Licensed to the Apache Software Foundation (ASF) under one
3    or more contributor license agreements.  See the NOTICE file
4    distributed with this work for additional information
5    regarding copyright ownership.  The ASF licenses this file
6    to you under the Apache License, Version 2.0 (the
7    "License"); you may not use this file except in compliance
8    with the License.  You may obtain a copy of the License at
9    
10       http://www.apache.org/licenses/LICENSE-2.0
11   
12   Unless required by applicable law or agreed to in writing,
13   software distributed under the License is distributed on an
14   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   KIND, either express or implied.  See the License for the
16   specific language governing permissions and limitations
17   under the License.
18   =================== DO NOT EDIT THIS FILE ====================
19   Generated by Modello 2.4.0,
20   any modifications will be overwritten.
21   ==============================================================
22   */
23  
24  package org.apache.maven.artifact.repository.metadata.io.xpp3;
25  
26    //---------------------------------/
27   //- Imported classes and packages -/
28  //---------------------------------/
29  
30  import java.io.OutputStream;
31  import java.io.Writer;
32  import java.util.Iterator;
33  import org.apache.maven.artifact.repository.metadata.Metadata;
34  import org.apache.maven.artifact.repository.metadata.Plugin;
35  import org.apache.maven.artifact.repository.metadata.Snapshot;
36  import org.apache.maven.artifact.repository.metadata.SnapshotVersion;
37  import org.apache.maven.artifact.repository.metadata.Versioning;
38  import org.codehaus.plexus.util.xml.pull.MXSerializer;
39  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
40  
41  /**
42   * Class MetadataXpp3Writer.
43   * 
44   * @version $Revision$ $Date$
45   */
46  @SuppressWarnings( "all" )
47  public class MetadataXpp3Writer
48  {
49  
50        //--------------------------/
51       //- Class/Member Variables -/
52      //--------------------------/
53  
54      /**
55       * Field NAMESPACE.
56       */
57      private static final String NAMESPACE = null;
58  
59      /**
60       * Field fileComment.
61       */
62      private String fileComment = null;
63  
64  
65        //-----------/
66       //- Methods -/
67      //-----------/
68  
69      /**
70       * Method setFileComment.
71       * 
72       * @param fileComment a fileComment object.
73       */
74      public void setFileComment( String fileComment )
75      {
76          this.fileComment = fileComment;
77      } //-- void setFileComment( String )
78  
79      /**
80       * Method write.
81       * 
82       * @param writer a writer object.
83       * @param metadata a metadata object.
84       * @throws java.io.IOException java.io.IOException if any.
85       */
86      public void write( Writer writer, Metadata metadata )
87          throws java.io.IOException
88      {
89          XmlSerializer serializer = new MXSerializer();
90          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
91          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
92          serializer.setOutput( writer );
93          serializer.startDocument( metadata.getModelEncoding(), null );
94          writeMetadata( metadata, "metadata", serializer );
95          serializer.endDocument();
96      } //-- void write( Writer, Metadata )
97  
98      /**
99       * Method write.
100      * 
101      * @param stream a stream object.
102      * @param metadata a metadata object.
103      * @throws java.io.IOException java.io.IOException if any.
104      */
105     public void write( OutputStream stream, Metadata metadata )
106         throws java.io.IOException
107     {
108         XmlSerializer serializer = new MXSerializer();
109         serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
110         serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
111         serializer.setOutput( stream, metadata.getModelEncoding() );
112         serializer.startDocument( metadata.getModelEncoding(), null );
113         writeMetadata( metadata, "metadata", serializer );
114         serializer.endDocument();
115     } //-- void write( OutputStream, Metadata )
116 
117     /**
118      * Method writeMetadata.
119      * 
120      * @param metadata a metadata object.
121      * @param serializer a serializer object.
122      * @param tagName a tagName object.
123      * @throws java.io.IOException java.io.IOException if any.
124      */
125     private void writeMetadata( Metadata metadata, String tagName, XmlSerializer serializer )
126         throws java.io.IOException
127     {
128         serializer.startTag( NAMESPACE, tagName );
129         if ( metadata.getModelVersion() != null )
130         {
131             serializer.attribute( NAMESPACE, "modelVersion", metadata.getModelVersion() );
132         }
133         if ( metadata.getGroupId() != null )
134         {
135             serializer.startTag( NAMESPACE, "groupId" ).text( metadata.getGroupId() ).endTag( NAMESPACE, "groupId" );
136         }
137         if ( metadata.getArtifactId() != null )
138         {
139             serializer.startTag( NAMESPACE, "artifactId" ).text( metadata.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
140         }
141         if ( metadata.getVersioning() != null )
142         {
143             writeVersioning( (Versioning) metadata.getVersioning(), "versioning", serializer );
144         }
145         if ( metadata.getVersion() != null )
146         {
147             serializer.startTag( NAMESPACE, "version" ).text( metadata.getVersion() ).endTag( NAMESPACE, "version" );
148         }
149         if ( ( metadata.getPlugins() != null ) && ( metadata.getPlugins().size() > 0 ) )
150         {
151             serializer.startTag( NAMESPACE, "plugins" );
152             for ( Iterator iter = metadata.getPlugins().iterator(); iter.hasNext(); )
153             {
154                 Plugin o = (Plugin) iter.next();
155                 writePlugin( o, "plugin", serializer );
156             }
157             serializer.endTag( NAMESPACE, "plugins" );
158         }
159         serializer.endTag( NAMESPACE, tagName );
160     } //-- void writeMetadata( Metadata, String, XmlSerializer )
161 
162     /**
163      * Method writePlugin.
164      * 
165      * @param plugin a plugin object.
166      * @param serializer a serializer object.
167      * @param tagName a tagName object.
168      * @throws java.io.IOException java.io.IOException if any.
169      */
170     private void writePlugin( Plugin plugin, String tagName, XmlSerializer serializer )
171         throws java.io.IOException
172     {
173         serializer.startTag( NAMESPACE, tagName );
174         if ( plugin.getName() != null )
175         {
176             serializer.startTag( NAMESPACE, "name" ).text( plugin.getName() ).endTag( NAMESPACE, "name" );
177         }
178         if ( plugin.getPrefix() != null )
179         {
180             serializer.startTag( NAMESPACE, "prefix" ).text( plugin.getPrefix() ).endTag( NAMESPACE, "prefix" );
181         }
182         if ( plugin.getArtifactId() != null )
183         {
184             serializer.startTag( NAMESPACE, "artifactId" ).text( plugin.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
185         }
186         serializer.endTag( NAMESPACE, tagName );
187     } //-- void writePlugin( Plugin, String, XmlSerializer )
188 
189     /**
190      * Method writeSnapshot.
191      * 
192      * @param snapshot a snapshot object.
193      * @param serializer a serializer object.
194      * @param tagName a tagName object.
195      * @throws java.io.IOException java.io.IOException if any.
196      */
197     private void writeSnapshot( Snapshot snapshot, String tagName, XmlSerializer serializer )
198         throws java.io.IOException
199     {
200         serializer.startTag( NAMESPACE, tagName );
201         if ( snapshot.getTimestamp() != null )
202         {
203             serializer.startTag( NAMESPACE, "timestamp" ).text( snapshot.getTimestamp() ).endTag( NAMESPACE, "timestamp" );
204         }
205         if ( snapshot.getBuildNumber() != 0 )
206         {
207             serializer.startTag( NAMESPACE, "buildNumber" ).text( String.valueOf( snapshot.getBuildNumber() ) ).endTag( NAMESPACE, "buildNumber" );
208         }
209         if ( snapshot.isLocalCopy() != false )
210         {
211             serializer.startTag( NAMESPACE, "localCopy" ).text( String.valueOf( snapshot.isLocalCopy() ) ).endTag( NAMESPACE, "localCopy" );
212         }
213         serializer.endTag( NAMESPACE, tagName );
214     } //-- void writeSnapshot( Snapshot, String, XmlSerializer )
215 
216     /**
217      * Method writeSnapshotVersion.
218      * 
219      * @param snapshotVersion a snapshotVersion object.
220      * @param serializer a serializer object.
221      * @param tagName a tagName object.
222      * @throws java.io.IOException java.io.IOException if any.
223      */
224     private void writeSnapshotVersion( SnapshotVersion snapshotVersion, String tagName, XmlSerializer serializer )
225         throws java.io.IOException
226     {
227         serializer.startTag( NAMESPACE, tagName );
228         if ( ( snapshotVersion.getClassifier() != null ) && !snapshotVersion.getClassifier().equals( "" ) )
229         {
230             serializer.startTag( NAMESPACE, "classifier" ).text( snapshotVersion.getClassifier() ).endTag( NAMESPACE, "classifier" );
231         }
232         if ( snapshotVersion.getExtension() != null )
233         {
234             serializer.startTag( NAMESPACE, "extension" ).text( snapshotVersion.getExtension() ).endTag( NAMESPACE, "extension" );
235         }
236         if ( snapshotVersion.getVersion() != null )
237         {
238             serializer.startTag( NAMESPACE, "value" ).text( snapshotVersion.getVersion() ).endTag( NAMESPACE, "value" );
239         }
240         if ( snapshotVersion.getUpdated() != null )
241         {
242             serializer.startTag( NAMESPACE, "updated" ).text( snapshotVersion.getUpdated() ).endTag( NAMESPACE, "updated" );
243         }
244         serializer.endTag( NAMESPACE, tagName );
245     } //-- void writeSnapshotVersion( SnapshotVersion, String, XmlSerializer )
246 
247     /**
248      * Method writeVersioning.
249      * 
250      * @param versioning a versioning object.
251      * @param serializer a serializer object.
252      * @param tagName a tagName object.
253      * @throws java.io.IOException java.io.IOException if any.
254      */
255     private void writeVersioning( Versioning versioning, String tagName, XmlSerializer serializer )
256         throws java.io.IOException
257     {
258         serializer.startTag( NAMESPACE, tagName );
259         if ( versioning.getLatest() != null )
260         {
261             serializer.startTag( NAMESPACE, "latest" ).text( versioning.getLatest() ).endTag( NAMESPACE, "latest" );
262         }
263         if ( versioning.getRelease() != null )
264         {
265             serializer.startTag( NAMESPACE, "release" ).text( versioning.getRelease() ).endTag( NAMESPACE, "release" );
266         }
267         if ( ( versioning.getVersions() != null ) && ( versioning.getVersions().size() > 0 ) )
268         {
269             serializer.startTag( NAMESPACE, "versions" );
270             for ( Iterator iter = versioning.getVersions().iterator(); iter.hasNext(); )
271             {
272                 String version = (String) iter.next();
273                 serializer.startTag( NAMESPACE, "version" ).text( version ).endTag( NAMESPACE, "version" );
274             }
275             serializer.endTag( NAMESPACE, "versions" );
276         }
277         if ( versioning.getLastUpdated() != null )
278         {
279             serializer.startTag( NAMESPACE, "lastUpdated" ).text( versioning.getLastUpdated() ).endTag( NAMESPACE, "lastUpdated" );
280         }
281         if ( versioning.getSnapshot() != null )
282         {
283             writeSnapshot( (Snapshot) versioning.getSnapshot(), "snapshot", serializer );
284         }
285         if ( ( versioning.getSnapshotVersions() != null ) && ( versioning.getSnapshotVersions().size() > 0 ) )
286         {
287             serializer.startTag( NAMESPACE, "snapshotVersions" );
288             for ( Iterator iter = versioning.getSnapshotVersions().iterator(); iter.hasNext(); )
289             {
290                 SnapshotVersion o = (SnapshotVersion) iter.next();
291                 writeSnapshotVersion( o, "snapshotVersion", serializer );
292             }
293             serializer.endTag( NAMESPACE, "snapshotVersions" );
294         }
295         serializer.endTag( NAMESPACE, tagName );
296     } //-- void writeVersioning( Versioning, String, XmlSerializer )
297 
298 }