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.5.1,
20   any modifications will be overwritten.
21   ==============================================================
22   */
23  
24  package org.apache.maven.plugins.javadoc.options.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.plugins.javadoc.options.BootclasspathArtifact;
34  import org.apache.maven.plugins.javadoc.options.DocletArtifact;
35  import org.apache.maven.plugins.javadoc.options.Group;
36  import org.apache.maven.plugins.javadoc.options.JavadocOptions;
37  import org.apache.maven.plugins.javadoc.options.JavadocPathArtifact;
38  import org.apache.maven.plugins.javadoc.options.OfflineLink;
39  import org.apache.maven.plugins.javadoc.options.ResourcesArtifact;
40  import org.apache.maven.plugins.javadoc.options.Tag;
41  import org.apache.maven.plugins.javadoc.options.Taglet;
42  import org.apache.maven.plugins.javadoc.options.TagletArtifact;
43  import org.codehaus.plexus.util.xml.pull.MXSerializer;
44  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
45  
46  /**
47   * Class JavadocOptionsXpp3Writer.
48   * 
49   * @version $Revision$ $Date$
50   */
51  @SuppressWarnings( "all" )
52  public class JavadocOptionsXpp3Writer
53  {
54  
55        //--------------------------/
56       //- Class/Member Variables -/
57      //--------------------------/
58  
59      /**
60       * Field NAMESPACE.
61       */
62      private static final String NAMESPACE = null;
63  
64      /**
65       * Field fileComment.
66       */
67      private String fileComment = null;
68  
69  
70        //-----------/
71       //- Methods -/
72      //-----------/
73  
74      /**
75       * Method setFileComment.
76       * 
77       * @param fileComment a fileComment object.
78       */
79      public void setFileComment( String fileComment )
80      {
81          this.fileComment = fileComment;
82      } //-- void setFileComment( String )
83  
84      /**
85       * Method write.
86       * 
87       * @param writer a writer object.
88       * @param javadocOptions a javadocOptions object.
89       * @throws java.io.IOException java.io.IOException if any.
90       */
91      public void write( Writer writer, JavadocOptions javadocOptions )
92          throws java.io.IOException
93      {
94          XmlSerializer serializer = new MXSerializer();
95          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
96          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
97          serializer.setOutput( writer );
98          serializer.startDocument( javadocOptions.getModelEncoding(), null );
99          writeJavadocOptions( javadocOptions, "javadocOptions", serializer );
100         serializer.endDocument();
101     } //-- void write( Writer, JavadocOptions )
102 
103     /**
104      * Method write.
105      * 
106      * @param stream a stream object.
107      * @param javadocOptions a javadocOptions object.
108      * @throws java.io.IOException java.io.IOException if any.
109      */
110     public void write( OutputStream stream, JavadocOptions javadocOptions )
111         throws java.io.IOException
112     {
113         XmlSerializer serializer = new MXSerializer();
114         serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
115         serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
116         serializer.setOutput( stream, javadocOptions.getModelEncoding() );
117         serializer.startDocument( javadocOptions.getModelEncoding(), null );
118         writeJavadocOptions( javadocOptions, "javadocOptions", serializer );
119         serializer.endDocument();
120     } //-- void write( OutputStream, JavadocOptions )
121 
122     /**
123      * Method writeBootclasspathArtifact.
124      * 
125      * @param bootclasspathArtifact a bootclasspathArtifact object.
126      * @param serializer a serializer object.
127      * @param tagName a tagName object.
128      * @throws java.io.IOException java.io.IOException if any.
129      */
130     private void writeBootclasspathArtifact( BootclasspathArtifact bootclasspathArtifact, String tagName, XmlSerializer serializer )
131         throws java.io.IOException
132     {
133         serializer.startTag( NAMESPACE, tagName );
134         if ( bootclasspathArtifact.getGroupId() != null )
135         {
136             serializer.startTag( NAMESPACE, "groupId" ).text( bootclasspathArtifact.getGroupId() ).endTag( NAMESPACE, "groupId" );
137         }
138         if ( bootclasspathArtifact.getArtifactId() != null )
139         {
140             serializer.startTag( NAMESPACE, "artifactId" ).text( bootclasspathArtifact.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
141         }
142         if ( bootclasspathArtifact.getVersion() != null )
143         {
144             serializer.startTag( NAMESPACE, "version" ).text( bootclasspathArtifact.getVersion() ).endTag( NAMESPACE, "version" );
145         }
146         if ( bootclasspathArtifact.getClassifier() != null )
147         {
148             serializer.startTag( NAMESPACE, "classifier" ).text( bootclasspathArtifact.getClassifier() ).endTag( NAMESPACE, "classifier" );
149         }
150         serializer.endTag( NAMESPACE, tagName );
151     } //-- void writeBootclasspathArtifact( BootclasspathArtifact, String, XmlSerializer )
152 
153     /**
154      * Method writeDocletArtifact.
155      * 
156      * @param docletArtifact a docletArtifact object.
157      * @param serializer a serializer object.
158      * @param tagName a tagName object.
159      * @throws java.io.IOException java.io.IOException if any.
160      */
161     private void writeDocletArtifact( DocletArtifact docletArtifact, String tagName, XmlSerializer serializer )
162         throws java.io.IOException
163     {
164         serializer.startTag( NAMESPACE, tagName );
165         if ( docletArtifact.getGroupId() != null )
166         {
167             serializer.startTag( NAMESPACE, "groupId" ).text( docletArtifact.getGroupId() ).endTag( NAMESPACE, "groupId" );
168         }
169         if ( docletArtifact.getArtifactId() != null )
170         {
171             serializer.startTag( NAMESPACE, "artifactId" ).text( docletArtifact.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
172         }
173         if ( docletArtifact.getVersion() != null )
174         {
175             serializer.startTag( NAMESPACE, "version" ).text( docletArtifact.getVersion() ).endTag( NAMESPACE, "version" );
176         }
177         if ( docletArtifact.getClassifier() != null )
178         {
179             serializer.startTag( NAMESPACE, "classifier" ).text( docletArtifact.getClassifier() ).endTag( NAMESPACE, "classifier" );
180         }
181         serializer.endTag( NAMESPACE, tagName );
182     } //-- void writeDocletArtifact( DocletArtifact, String, XmlSerializer )
183 
184     /**
185      * Method writeGroup.
186      * 
187      * @param group a group object.
188      * @param serializer a serializer object.
189      * @param tagName a tagName object.
190      * @throws java.io.IOException java.io.IOException if any.
191      */
192     private void writeGroup( Group group, String tagName, XmlSerializer serializer )
193         throws java.io.IOException
194     {
195         serializer.startTag( NAMESPACE, tagName );
196         if ( group.getTitle() != null )
197         {
198             serializer.startTag( NAMESPACE, "title" ).text( group.getTitle() ).endTag( NAMESPACE, "title" );
199         }
200         if ( group.getPackages() != null )
201         {
202             serializer.startTag( NAMESPACE, "packages" ).text( group.getPackages() ).endTag( NAMESPACE, "packages" );
203         }
204         serializer.endTag( NAMESPACE, tagName );
205     } //-- void writeGroup( Group, String, XmlSerializer )
206 
207     /**
208      * Method writeJavadocOptions.
209      * 
210      * @param javadocOptions a javadocOptions object.
211      * @param serializer a serializer object.
212      * @param tagName a tagName object.
213      * @throws java.io.IOException java.io.IOException if any.
214      */
215     private void writeJavadocOptions( JavadocOptions javadocOptions, String tagName, XmlSerializer serializer )
216         throws java.io.IOException
217     {
218         serializer.startTag( NAMESPACE, tagName );
219         if ( ( javadocOptions.getGroups() != null ) && ( javadocOptions.getGroups().size() > 0 ) )
220         {
221             serializer.startTag( NAMESPACE, "groups" );
222             for ( Iterator iter = javadocOptions.getGroups().iterator(); iter.hasNext(); )
223             {
224                 Group o = (Group) iter.next();
225                 writeGroup( o, "group", serializer );
226             }
227             serializer.endTag( NAMESPACE, "groups" );
228         }
229         if ( ( javadocOptions.getTags() != null ) && ( javadocOptions.getTags().size() > 0 ) )
230         {
231             serializer.startTag( NAMESPACE, "tags" );
232             for ( Iterator iter = javadocOptions.getTags().iterator(); iter.hasNext(); )
233             {
234                 Tag o = (Tag) iter.next();
235                 writeTag( o, "tag", serializer );
236             }
237             serializer.endTag( NAMESPACE, "tags" );
238         }
239         if ( ( javadocOptions.getDocletArtifacts() != null ) && ( javadocOptions.getDocletArtifacts().size() > 0 ) )
240         {
241             serializer.startTag( NAMESPACE, "docletArtifacts" );
242             for ( Iterator iter = javadocOptions.getDocletArtifacts().iterator(); iter.hasNext(); )
243             {
244                 DocletArtifact o = (DocletArtifact) iter.next();
245                 writeDocletArtifact( o, "docletArtifact", serializer );
246             }
247             serializer.endTag( NAMESPACE, "docletArtifacts" );
248         }
249         if ( ( javadocOptions.getTaglets() != null ) && ( javadocOptions.getTaglets().size() > 0 ) )
250         {
251             serializer.startTag( NAMESPACE, "taglets" );
252             for ( Iterator iter = javadocOptions.getTaglets().iterator(); iter.hasNext(); )
253             {
254                 Taglet o = (Taglet) iter.next();
255                 writeTaglet( o, "taglet", serializer );
256             }
257             serializer.endTag( NAMESPACE, "taglets" );
258         }
259         if ( ( javadocOptions.getOfflineLinks() != null ) && ( javadocOptions.getOfflineLinks().size() > 0 ) )
260         {
261             serializer.startTag( NAMESPACE, "offlineLinks" );
262             for ( Iterator iter = javadocOptions.getOfflineLinks().iterator(); iter.hasNext(); )
263             {
264                 OfflineLink o = (OfflineLink) iter.next();
265                 writeOfflineLink( o, "offlineLink", serializer );
266             }
267             serializer.endTag( NAMESPACE, "offlineLinks" );
268         }
269         if ( ( javadocOptions.getTagletArtifacts() != null ) && ( javadocOptions.getTagletArtifacts().size() > 0 ) )
270         {
271             serializer.startTag( NAMESPACE, "tagletArtifacts" );
272             for ( Iterator iter = javadocOptions.getTagletArtifacts().iterator(); iter.hasNext(); )
273             {
274                 TagletArtifact o = (TagletArtifact) iter.next();
275                 writeTagletArtifact( o, "tagletArtifact", serializer );
276             }
277             serializer.endTag( NAMESPACE, "tagletArtifacts" );
278         }
279         if ( ( javadocOptions.getResourcesArtifacts() != null ) && ( javadocOptions.getResourcesArtifacts().size() > 0 ) )
280         {
281             serializer.startTag( NAMESPACE, "resourcesArtifacts" );
282             for ( Iterator iter = javadocOptions.getResourcesArtifacts().iterator(); iter.hasNext(); )
283             {
284                 ResourcesArtifact o = (ResourcesArtifact) iter.next();
285                 writeResourcesArtifact( o, "resourcesArtifact", serializer );
286             }
287             serializer.endTag( NAMESPACE, "resourcesArtifacts" );
288         }
289         if ( ( javadocOptions.getBootclasspathArtifacts() != null ) && ( javadocOptions.getBootclasspathArtifacts().size() > 0 ) )
290         {
291             serializer.startTag( NAMESPACE, "bootclasspathArtifacts" );
292             for ( Iterator iter = javadocOptions.getBootclasspathArtifacts().iterator(); iter.hasNext(); )
293             {
294                 BootclasspathArtifact o = (BootclasspathArtifact) iter.next();
295                 writeBootclasspathArtifact( o, "bootclasspathArtifact", serializer );
296             }
297             serializer.endTag( NAMESPACE, "bootclasspathArtifacts" );
298         }
299         if ( ( javadocOptions.getLinks() != null ) && ( javadocOptions.getLinks().size() > 0 ) )
300         {
301             serializer.startTag( NAMESPACE, "links" );
302             for ( Iterator iter = javadocOptions.getLinks().iterator(); iter.hasNext(); )
303             {
304                 String link = (String) iter.next();
305                 serializer.startTag( NAMESPACE, "link" ).text( link ).endTag( NAMESPACE, "link" );
306             }
307             serializer.endTag( NAMESPACE, "links" );
308         }
309         if ( ( javadocOptions.getExcludePackageNames() != null ) && ( javadocOptions.getExcludePackageNames().size() > 0 ) )
310         {
311             serializer.startTag( NAMESPACE, "excludePackageNames" );
312             for ( Iterator iter = javadocOptions.getExcludePackageNames().iterator(); iter.hasNext(); )
313             {
314                 String excludePackageName = (String) iter.next();
315                 serializer.startTag( NAMESPACE, "excludePackageName" ).text( excludePackageName ).endTag( NAMESPACE, "excludePackageName" );
316             }
317             serializer.endTag( NAMESPACE, "excludePackageNames" );
318         }
319         if ( javadocOptions.isDocfilesSubdirsUsed() != false )
320         {
321             serializer.startTag( NAMESPACE, "docfilesSubdirsUsed" ).text( String.valueOf( javadocOptions.isDocfilesSubdirsUsed() ) ).endTag( NAMESPACE, "docfilesSubdirsUsed" );
322         }
323         if ( javadocOptions.getExcludedDocfilesSubdirs() != null )
324         {
325             serializer.startTag( NAMESPACE, "excludedDocfilesSubdirs" ).text( javadocOptions.getExcludedDocfilesSubdirs() ).endTag( NAMESPACE, "excludedDocfilesSubdirs" );
326         }
327         if ( javadocOptions.getJavadocResourcesDirectory() != null )
328         {
329             serializer.startTag( NAMESPACE, "javadocResourcesDirectory" ).text( javadocOptions.getJavadocResourcesDirectory() ).endTag( NAMESPACE, "javadocResourcesDirectory" );
330         }
331         serializer.endTag( NAMESPACE, tagName );
332     } //-- void writeJavadocOptions( JavadocOptions, String, XmlSerializer )
333 
334     /**
335      * Method writeJavadocPathArtifact.
336      * 
337      * @param javadocPathArtifact a javadocPathArtifact object.
338      * @param serializer a serializer object.
339      * @param tagName a tagName object.
340      * @throws java.io.IOException java.io.IOException if any.
341      */
342     private void writeJavadocPathArtifact( JavadocPathArtifact javadocPathArtifact, String tagName, XmlSerializer serializer )
343         throws java.io.IOException
344     {
345         serializer.startTag( NAMESPACE, tagName );
346         if ( javadocPathArtifact.getGroupId() != null )
347         {
348             serializer.startTag( NAMESPACE, "groupId" ).text( javadocPathArtifact.getGroupId() ).endTag( NAMESPACE, "groupId" );
349         }
350         if ( javadocPathArtifact.getArtifactId() != null )
351         {
352             serializer.startTag( NAMESPACE, "artifactId" ).text( javadocPathArtifact.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
353         }
354         if ( javadocPathArtifact.getVersion() != null )
355         {
356             serializer.startTag( NAMESPACE, "version" ).text( javadocPathArtifact.getVersion() ).endTag( NAMESPACE, "version" );
357         }
358         if ( javadocPathArtifact.getClassifier() != null )
359         {
360             serializer.startTag( NAMESPACE, "classifier" ).text( javadocPathArtifact.getClassifier() ).endTag( NAMESPACE, "classifier" );
361         }
362         serializer.endTag( NAMESPACE, tagName );
363     } //-- void writeJavadocPathArtifact( JavadocPathArtifact, String, XmlSerializer )
364 
365     /**
366      * Method writeOfflineLink.
367      * 
368      * @param offlineLink a offlineLink object.
369      * @param serializer a serializer object.
370      * @param tagName a tagName object.
371      * @throws java.io.IOException java.io.IOException if any.
372      */
373     private void writeOfflineLink( OfflineLink offlineLink, String tagName, XmlSerializer serializer )
374         throws java.io.IOException
375     {
376         serializer.startTag( NAMESPACE, tagName );
377         if ( offlineLink.getUrl() != null )
378         {
379             serializer.startTag( NAMESPACE, "url" ).text( offlineLink.getUrl() ).endTag( NAMESPACE, "url" );
380         }
381         if ( offlineLink.getLocation() != null )
382         {
383             serializer.startTag( NAMESPACE, "location" ).text( offlineLink.getLocation() ).endTag( NAMESPACE, "location" );
384         }
385         serializer.endTag( NAMESPACE, tagName );
386     } //-- void writeOfflineLink( OfflineLink, String, XmlSerializer )
387 
388     /**
389      * Method writeResourcesArtifact.
390      * 
391      * @param resourcesArtifact a resourcesArtifact object.
392      * @param serializer a serializer object.
393      * @param tagName a tagName object.
394      * @throws java.io.IOException java.io.IOException if any.
395      */
396     private void writeResourcesArtifact( ResourcesArtifact resourcesArtifact, String tagName, XmlSerializer serializer )
397         throws java.io.IOException
398     {
399         serializer.startTag( NAMESPACE, tagName );
400         if ( resourcesArtifact.getGroupId() != null )
401         {
402             serializer.startTag( NAMESPACE, "groupId" ).text( resourcesArtifact.getGroupId() ).endTag( NAMESPACE, "groupId" );
403         }
404         if ( resourcesArtifact.getArtifactId() != null )
405         {
406             serializer.startTag( NAMESPACE, "artifactId" ).text( resourcesArtifact.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
407         }
408         if ( resourcesArtifact.getVersion() != null )
409         {
410             serializer.startTag( NAMESPACE, "version" ).text( resourcesArtifact.getVersion() ).endTag( NAMESPACE, "version" );
411         }
412         if ( resourcesArtifact.getClassifier() != null )
413         {
414             serializer.startTag( NAMESPACE, "classifier" ).text( resourcesArtifact.getClassifier() ).endTag( NAMESPACE, "classifier" );
415         }
416         serializer.endTag( NAMESPACE, tagName );
417     } //-- void writeResourcesArtifact( ResourcesArtifact, String, XmlSerializer )
418 
419     /**
420      * Method writeTag.
421      * 
422      * @param tag a tag object.
423      * @param serializer a serializer object.
424      * @param tagName a tagName object.
425      * @throws java.io.IOException java.io.IOException if any.
426      */
427     private void writeTag( Tag tag, String tagName, XmlSerializer serializer )
428         throws java.io.IOException
429     {
430         serializer.startTag( NAMESPACE, tagName );
431         if ( tag.getName() != null )
432         {
433             serializer.startTag( NAMESPACE, "name" ).text( tag.getName() ).endTag( NAMESPACE, "name" );
434         }
435         if ( tag.getHead() != null )
436         {
437             serializer.startTag( NAMESPACE, "head" ).text( tag.getHead() ).endTag( NAMESPACE, "head" );
438         }
439         if ( tag.getPlacement() != null )
440         {
441             serializer.startTag( NAMESPACE, "placement" ).text( tag.getPlacement() ).endTag( NAMESPACE, "placement" );
442         }
443         serializer.endTag( NAMESPACE, tagName );
444     } //-- void writeTag( Tag, String, XmlSerializer )
445 
446     /**
447      * Method writeTaglet.
448      * 
449      * @param taglet a taglet object.
450      * @param serializer a serializer object.
451      * @param tagName a tagName object.
452      * @throws java.io.IOException java.io.IOException if any.
453      */
454     private void writeTaglet( Taglet taglet, String tagName, XmlSerializer serializer )
455         throws java.io.IOException
456     {
457         serializer.startTag( NAMESPACE, tagName );
458         if ( taglet.getTagletClass() != null )
459         {
460             serializer.startTag( NAMESPACE, "tagletClass" ).text( taglet.getTagletClass() ).endTag( NAMESPACE, "tagletClass" );
461         }
462         if ( taglet.getTagletpath() != null )
463         {
464             serializer.startTag( NAMESPACE, "tagletpath" ).text( taglet.getTagletpath() ).endTag( NAMESPACE, "tagletpath" );
465         }
466         if ( taglet.getTagletArtifact() != null )
467         {
468             writeTagletArtifact( (TagletArtifact) taglet.getTagletArtifact(), "tagletArtifact", serializer );
469         }
470         serializer.endTag( NAMESPACE, tagName );
471     } //-- void writeTaglet( Taglet, String, XmlSerializer )
472 
473     /**
474      * Method writeTagletArtifact.
475      * 
476      * @param tagletArtifact a tagletArtifact object.
477      * @param serializer a serializer object.
478      * @param tagName a tagName object.
479      * @throws java.io.IOException java.io.IOException if any.
480      */
481     private void writeTagletArtifact( TagletArtifact tagletArtifact, String tagName, XmlSerializer serializer )
482         throws java.io.IOException
483     {
484         serializer.startTag( NAMESPACE, tagName );
485         if ( tagletArtifact.getGroupId() != null )
486         {
487             serializer.startTag( NAMESPACE, "groupId" ).text( tagletArtifact.getGroupId() ).endTag( NAMESPACE, "groupId" );
488         }
489         if ( tagletArtifact.getArtifactId() != null )
490         {
491             serializer.startTag( NAMESPACE, "artifactId" ).text( tagletArtifact.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
492         }
493         if ( tagletArtifact.getVersion() != null )
494         {
495             serializer.startTag( NAMESPACE, "version" ).text( tagletArtifact.getVersion() ).endTag( NAMESPACE, "version" );
496         }
497         if ( tagletArtifact.getClassifier() != null )
498         {
499             serializer.startTag( NAMESPACE, "classifier" ).text( tagletArtifact.getClassifier() ).endTag( NAMESPACE, "classifier" );
500         }
501         serializer.endTag( NAMESPACE, tagName );
502     } //-- void writeTagletArtifact( TagletArtifact, String, XmlSerializer )
503 
504 }