View Javadoc
1   // =================== DO NOT EDIT THIS FILE ====================
2   // Generated by Modello 2.0.0,
3   // any modifications will be overwritten.
4   // ==============================================================
5   
6   package org.apache.maven.doxia.site.io.xpp3;
7   
8     //---------------------------------/
9    //- Imported classes and packages -/
10  //---------------------------------/
11  
12  import java.io.OutputStream;
13  import java.io.Writer;
14  import java.util.Iterator;
15  import org.apache.maven.doxia.site.Banner;
16  import org.apache.maven.doxia.site.Body;
17  import org.apache.maven.doxia.site.LinkItem;
18  import org.apache.maven.doxia.site.Logo;
19  import org.apache.maven.doxia.site.Menu;
20  import org.apache.maven.doxia.site.MenuItem;
21  import org.apache.maven.doxia.site.PublishDate;
22  import org.apache.maven.doxia.site.SiteModel;
23  import org.apache.maven.doxia.site.Skin;
24  import org.apache.maven.doxia.site.Version;
25  import org.codehaus.plexus.util.xml.Xpp3Dom;
26  import org.codehaus.plexus.util.xml.pull.MXSerializer;
27  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
28  
29  /**
30   * Class SiteXpp3Writer.
31   * 
32   * @version $Revision$ $Date$
33   */
34  @SuppressWarnings( "all" )
35  public class SiteXpp3Writer
36  {
37  
38        //--------------------------/
39       //- Class/Member Variables -/
40      //--------------------------/
41  
42      /**
43       * Field NAMESPACE.
44       */
45      private static final String NAMESPACE = null;
46  
47      /**
48       * Field fileComment.
49       */
50      private String fileComment = null;
51  
52  
53        //-----------/
54       //- Methods -/
55      //-----------/
56  
57      /**
58       * Method setFileComment.
59       * 
60       * @param fileComment a fileComment object.
61       */
62      public void setFileComment( String fileComment )
63      {
64          this.fileComment = fileComment;
65      } //-- void setFileComment( String )
66  
67      /**
68       * Method write.
69       * 
70       * @param writer a writer object.
71       * @param siteModel a siteModel object.
72       * @throws java.io.IOException java.io.IOException if any.
73       */
74      public void write( Writer writer, SiteModel siteModel )
75          throws java.io.IOException
76      {
77          XmlSerializer serializer = new MXSerializer();
78          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
79          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
80          serializer.setOutput( writer );
81          serializer.startDocument( siteModel.getModelEncoding(), null );
82          writeSiteModel( siteModel, "project", serializer );
83          serializer.endDocument();
84      } //-- void write( Writer, SiteModel )
85  
86      /**
87       * Method write.
88       * 
89       * @param stream a stream object.
90       * @param siteModel a siteModel object.
91       * @throws java.io.IOException java.io.IOException if any.
92       */
93      public void write( OutputStream stream, SiteModel siteModel )
94          throws java.io.IOException
95      {
96          XmlSerializer serializer = new MXSerializer();
97          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
98          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
99          serializer.setOutput( stream, siteModel.getModelEncoding() );
100         serializer.startDocument( siteModel.getModelEncoding(), null );
101         writeSiteModel( siteModel, "project", serializer );
102         serializer.endDocument();
103     } //-- void write( OutputStream, SiteModel )
104 
105     /**
106      * Method writeBanner.
107      * 
108      * @param banner a banner object.
109      * @param serializer a serializer object.
110      * @param tagName a tagName object.
111      * @throws java.io.IOException java.io.IOException if any.
112      */
113     private void writeBanner( Banner banner, String tagName, XmlSerializer serializer )
114         throws java.io.IOException
115     {
116         serializer.startTag( NAMESPACE, tagName );
117         if ( banner.getName() != null )
118         {
119             serializer.startTag( NAMESPACE, "name" ).text( banner.getName() ).endTag( NAMESPACE, "name" );
120         }
121         if ( banner.getSrc() != null )
122         {
123             serializer.startTag( NAMESPACE, "src" ).text( banner.getSrc() ).endTag( NAMESPACE, "src" );
124         }
125         if ( banner.getAlt() != null )
126         {
127             serializer.startTag( NAMESPACE, "alt" ).text( banner.getAlt() ).endTag( NAMESPACE, "alt" );
128         }
129         if ( banner.getHref() != null )
130         {
131             serializer.startTag( NAMESPACE, "href" ).text( banner.getHref() ).endTag( NAMESPACE, "href" );
132         }
133         if ( banner.getBorder() != null )
134         {
135             serializer.startTag( NAMESPACE, "border" ).text( banner.getBorder() ).endTag( NAMESPACE, "border" );
136         }
137         if ( banner.getWidth() != null )
138         {
139             serializer.startTag( NAMESPACE, "width" ).text( banner.getWidth() ).endTag( NAMESPACE, "width" );
140         }
141         if ( banner.getHeight() != null )
142         {
143             serializer.startTag( NAMESPACE, "height" ).text( banner.getHeight() ).endTag( NAMESPACE, "height" );
144         }
145         if ( banner.getTitle() != null )
146         {
147             serializer.startTag( NAMESPACE, "title" ).text( banner.getTitle() ).endTag( NAMESPACE, "title" );
148         }
149         serializer.endTag( NAMESPACE, tagName );
150     } //-- void writeBanner( Banner, String, XmlSerializer )
151 
152     /**
153      * Method writeBody.
154      * 
155      * @param body a body object.
156      * @param serializer a serializer object.
157      * @param tagName a tagName object.
158      * @throws java.io.IOException java.io.IOException if any.
159      */
160     private void writeBody( Body body, String tagName, XmlSerializer serializer )
161         throws java.io.IOException
162     {
163         serializer.startTag( NAMESPACE, tagName );
164         if ( body.getHead() != null )
165         {
166             serializer.startTag( NAMESPACE, "head" ).text( body.getHead() ).endTag( NAMESPACE, "head" );
167         }
168         if ( ( body.getLinks() != null ) && ( body.getLinks().size() > 0 ) )
169         {
170             serializer.startTag( NAMESPACE, "links" );
171             for ( Iterator iter = body.getLinks().iterator(); iter.hasNext(); )
172             {
173                 LinkItem o = (LinkItem) iter.next();
174                 writeLinkItem( o, "item", serializer );
175             }
176             serializer.endTag( NAMESPACE, "links" );
177         }
178         if ( ( body.getBreadcrumbs() != null ) && ( body.getBreadcrumbs().size() > 0 ) )
179         {
180             serializer.startTag( NAMESPACE, "breadcrumbs" );
181             for ( Iterator iter = body.getBreadcrumbs().iterator(); iter.hasNext(); )
182             {
183                 LinkItem o = (LinkItem) iter.next();
184                 writeLinkItem( o, "item", serializer );
185             }
186             serializer.endTag( NAMESPACE, "breadcrumbs" );
187         }
188         if ( ( body.getMenus() != null ) && ( body.getMenus().size() > 0 ) )
189         {
190             for ( Iterator iter = body.getMenus().iterator(); iter.hasNext(); )
191             {
192                 Menu o = (Menu) iter.next();
193                 writeMenu( o, "menu", serializer );
194             }
195         }
196         if ( body.getFooter() != null )
197         {
198             serializer.startTag( NAMESPACE, "footer" ).text( body.getFooter() ).endTag( NAMESPACE, "footer" );
199         }
200         serializer.endTag( NAMESPACE, tagName );
201     } //-- void writeBody( Body, String, XmlSerializer )
202 
203     /**
204      * Method writeLinkItem.
205      * 
206      * @param linkItem a linkItem object.
207      * @param serializer a serializer object.
208      * @param tagName a tagName object.
209      * @throws java.io.IOException java.io.IOException if any.
210      */
211     private void writeLinkItem( LinkItem linkItem, String tagName, XmlSerializer serializer )
212         throws java.io.IOException
213     {
214         serializer.startTag( NAMESPACE, tagName );
215         if ( linkItem.getName() != null )
216         {
217             serializer.attribute( NAMESPACE, "name", linkItem.getName() );
218         }
219         if ( linkItem.getHref() != null )
220         {
221             serializer.attribute( NAMESPACE, "href", linkItem.getHref() );
222         }
223         if ( linkItem.getImg() != null )
224         {
225             serializer.attribute( NAMESPACE, "img", linkItem.getImg() );
226         }
227         if ( ( linkItem.getPosition() != null ) && !linkItem.getPosition().equals( "left" ) )
228         {
229             serializer.attribute( NAMESPACE, "position", linkItem.getPosition() );
230         }
231         if ( linkItem.getAlt() != null )
232         {
233             serializer.attribute( NAMESPACE, "alt", linkItem.getAlt() );
234         }
235         if ( linkItem.getBorder() != null )
236         {
237             serializer.attribute( NAMESPACE, "border", linkItem.getBorder() );
238         }
239         if ( linkItem.getWidth() != null )
240         {
241             serializer.attribute( NAMESPACE, "width", linkItem.getWidth() );
242         }
243         if ( linkItem.getHeight() != null )
244         {
245             serializer.attribute( NAMESPACE, "height", linkItem.getHeight() );
246         }
247         if ( linkItem.getTarget() != null )
248         {
249             serializer.attribute( NAMESPACE, "target", linkItem.getTarget() );
250         }
251         if ( linkItem.getTitle() != null )
252         {
253             serializer.attribute( NAMESPACE, "title", linkItem.getTitle() );
254         }
255         serializer.endTag( NAMESPACE, tagName );
256     } //-- void writeLinkItem( LinkItem, String, XmlSerializer )
257 
258     /**
259      * Method writeLogo.
260      * 
261      * @param logo a logo object.
262      * @param serializer a serializer object.
263      * @param tagName a tagName object.
264      * @throws java.io.IOException java.io.IOException if any.
265      */
266     private void writeLogo( Logo logo, String tagName, XmlSerializer serializer )
267         throws java.io.IOException
268     {
269         serializer.startTag( NAMESPACE, tagName );
270         if ( logo.getName() != null )
271         {
272             serializer.attribute( NAMESPACE, "name", logo.getName() );
273         }
274         if ( logo.getHref() != null )
275         {
276             serializer.attribute( NAMESPACE, "href", logo.getHref() );
277         }
278         if ( logo.getImg() != null )
279         {
280             serializer.attribute( NAMESPACE, "img", logo.getImg() );
281         }
282         if ( ( logo.getPosition() != null ) && !logo.getPosition().equals( "left" ) )
283         {
284             serializer.attribute( NAMESPACE, "position", logo.getPosition() );
285         }
286         if ( logo.getAlt() != null )
287         {
288             serializer.attribute( NAMESPACE, "alt", logo.getAlt() );
289         }
290         if ( logo.getBorder() != null )
291         {
292             serializer.attribute( NAMESPACE, "border", logo.getBorder() );
293         }
294         if ( logo.getWidth() != null )
295         {
296             serializer.attribute( NAMESPACE, "width", logo.getWidth() );
297         }
298         if ( logo.getHeight() != null )
299         {
300             serializer.attribute( NAMESPACE, "height", logo.getHeight() );
301         }
302         if ( logo.getTarget() != null )
303         {
304             serializer.attribute( NAMESPACE, "target", logo.getTarget() );
305         }
306         if ( logo.getTitle() != null )
307         {
308             serializer.attribute( NAMESPACE, "title", logo.getTitle() );
309         }
310         serializer.endTag( NAMESPACE, tagName );
311     } //-- void writeLogo( Logo, String, XmlSerializer )
312 
313     /**
314      * Method writeMenu.
315      * 
316      * @param menu a menu object.
317      * @param serializer a serializer object.
318      * @param tagName a tagName object.
319      * @throws java.io.IOException java.io.IOException if any.
320      */
321     private void writeMenu( Menu menu, String tagName, XmlSerializer serializer )
322         throws java.io.IOException
323     {
324         serializer.startTag( NAMESPACE, tagName );
325         if ( menu.getName() != null )
326         {
327             serializer.attribute( NAMESPACE, "name", menu.getName() );
328         }
329         if ( menu.getInherit() != null )
330         {
331             serializer.attribute( NAMESPACE, "inherit", menu.getInherit() );
332         }
333         if ( menu.isInheritAsRef() != false )
334         {
335             serializer.attribute( NAMESPACE, "inheritAsRef", String.valueOf( menu.isInheritAsRef() ) );
336         }
337         if ( menu.getRef() != null )
338         {
339             serializer.attribute( NAMESPACE, "ref", menu.getRef() );
340         }
341         if ( menu.getImg() != null )
342         {
343             serializer.attribute( NAMESPACE, "img", menu.getImg() );
344         }
345         if ( menu.getAlt() != null )
346         {
347             serializer.attribute( NAMESPACE, "alt", menu.getAlt() );
348         }
349         if ( ( menu.getPosition() != null ) && !menu.getPosition().equals( "left" ) )
350         {
351             serializer.attribute( NAMESPACE, "position", menu.getPosition() );
352         }
353         if ( menu.getBorder() != null )
354         {
355             serializer.attribute( NAMESPACE, "border", menu.getBorder() );
356         }
357         if ( menu.getWidth() != null )
358         {
359             serializer.attribute( NAMESPACE, "width", menu.getWidth() );
360         }
361         if ( menu.getHeight() != null )
362         {
363             serializer.attribute( NAMESPACE, "height", menu.getHeight() );
364         }
365         if ( menu.getTitle() != null )
366         {
367             serializer.attribute( NAMESPACE, "title", menu.getTitle() );
368         }
369         if ( ( menu.getItems() != null ) && ( menu.getItems().size() > 0 ) )
370         {
371             for ( Iterator iter = menu.getItems().iterator(); iter.hasNext(); )
372             {
373                 MenuItem o = (MenuItem) iter.next();
374                 writeMenuItem( o, "item", serializer );
375             }
376         }
377         serializer.endTag( NAMESPACE, tagName );
378     } //-- void writeMenu( Menu, String, XmlSerializer )
379 
380     /**
381      * Method writeMenuItem.
382      * 
383      * @param menuItem a menuItem object.
384      * @param serializer a serializer object.
385      * @param tagName a tagName object.
386      * @throws java.io.IOException java.io.IOException if any.
387      */
388     private void writeMenuItem( MenuItem menuItem, String tagName, XmlSerializer serializer )
389         throws java.io.IOException
390     {
391         serializer.startTag( NAMESPACE, tagName );
392         if ( menuItem.isCollapse() != false )
393         {
394             serializer.attribute( NAMESPACE, "collapse", String.valueOf( menuItem.isCollapse() ) );
395         }
396         if ( menuItem.getRef() != null )
397         {
398             serializer.attribute( NAMESPACE, "ref", menuItem.getRef() );
399         }
400         if ( menuItem.getName() != null )
401         {
402             serializer.attribute( NAMESPACE, "name", menuItem.getName() );
403         }
404         if ( menuItem.getHref() != null )
405         {
406             serializer.attribute( NAMESPACE, "href", menuItem.getHref() );
407         }
408         if ( menuItem.getImg() != null )
409         {
410             serializer.attribute( NAMESPACE, "img", menuItem.getImg() );
411         }
412         if ( ( menuItem.getPosition() != null ) && !menuItem.getPosition().equals( "left" ) )
413         {
414             serializer.attribute( NAMESPACE, "position", menuItem.getPosition() );
415         }
416         if ( menuItem.getAlt() != null )
417         {
418             serializer.attribute( NAMESPACE, "alt", menuItem.getAlt() );
419         }
420         if ( menuItem.getBorder() != null )
421         {
422             serializer.attribute( NAMESPACE, "border", menuItem.getBorder() );
423         }
424         if ( menuItem.getWidth() != null )
425         {
426             serializer.attribute( NAMESPACE, "width", menuItem.getWidth() );
427         }
428         if ( menuItem.getHeight() != null )
429         {
430             serializer.attribute( NAMESPACE, "height", menuItem.getHeight() );
431         }
432         if ( menuItem.getTarget() != null )
433         {
434             serializer.attribute( NAMESPACE, "target", menuItem.getTarget() );
435         }
436         if ( menuItem.getTitle() != null )
437         {
438             serializer.attribute( NAMESPACE, "title", menuItem.getTitle() );
439         }
440         if ( menuItem.getDescription() != null )
441         {
442             serializer.startTag( NAMESPACE, "description" ).text( menuItem.getDescription() ).endTag( NAMESPACE, "description" );
443         }
444         if ( ( menuItem.getItems() != null ) && ( menuItem.getItems().size() > 0 ) )
445         {
446             for ( Iterator iter = menuItem.getItems().iterator(); iter.hasNext(); )
447             {
448                 MenuItem o = (MenuItem) iter.next();
449                 writeMenuItem( o, "item", serializer );
450             }
451         }
452         serializer.endTag( NAMESPACE, tagName );
453     } //-- void writeMenuItem( MenuItem, String, XmlSerializer )
454 
455     /**
456      * Method writePublishDate.
457      * 
458      * @param publishDate a publishDate object.
459      * @param serializer a serializer object.
460      * @param tagName a tagName object.
461      * @throws java.io.IOException java.io.IOException if any.
462      */
463     private void writePublishDate( PublishDate publishDate, String tagName, XmlSerializer serializer )
464         throws java.io.IOException
465     {
466         serializer.startTag( NAMESPACE, tagName );
467         if ( ( publishDate.getPosition() != null ) && !publishDate.getPosition().equals( "left" ) )
468         {
469             serializer.attribute( NAMESPACE, "position", publishDate.getPosition() );
470         }
471         if ( ( publishDate.getFormat() != null ) && !publishDate.getFormat().equals( "yyyy-MM-dd" ) )
472         {
473             serializer.attribute( NAMESPACE, "format", publishDate.getFormat() );
474         }
475         if ( ( publishDate.getTimezone() != null ) && !publishDate.getTimezone().equals( "Etc/UTC" ) )
476         {
477             serializer.attribute( NAMESPACE, "timezone", publishDate.getTimezone() );
478         }
479         serializer.endTag( NAMESPACE, tagName );
480     } //-- void writePublishDate( PublishDate, String, XmlSerializer )
481 
482     /**
483      * Method writeSiteModel.
484      * 
485      * @param siteModel a siteModel object.
486      * @param serializer a serializer object.
487      * @param tagName a tagName object.
488      * @throws java.io.IOException java.io.IOException if any.
489      */
490     private void writeSiteModel( SiteModel siteModel, String tagName, XmlSerializer serializer )
491         throws java.io.IOException
492     {
493         if ( this.fileComment != null )
494         {
495         serializer.comment(this.fileComment);
496         }
497         serializer.setPrefix( "", "http://maven.apache.org/SITE/2.0.0" );
498         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
499         serializer.startTag( NAMESPACE, tagName );
500         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/SITE/2.0.0 http://maven.apache.org/xsd/site-2.0.0.xsd" );
501         if ( siteModel.getName() != null )
502         {
503             serializer.attribute( NAMESPACE, "name", siteModel.getName() );
504         }
505         if ( ( siteModel.getCombineSelf() != null ) && !siteModel.getCombineSelf().equals( "merge" ) )
506         {
507             serializer.attribute( NAMESPACE, "combine.self", siteModel.getCombineSelf() );
508         }
509         if ( siteModel.getBannerLeft() != null )
510         {
511             writeBanner( (Banner) siteModel.getBannerLeft(), "bannerLeft", serializer );
512         }
513         if ( siteModel.getBannerRight() != null )
514         {
515             writeBanner( (Banner) siteModel.getBannerRight(), "bannerRight", serializer );
516         }
517         if ( siteModel.getPublishDate() != null )
518         {
519             writePublishDate( (PublishDate) siteModel.getPublishDate(), "publishDate", serializer );
520         }
521         if ( siteModel.getVersion() != null )
522         {
523             writeVersion( (Version) siteModel.getVersion(), "version", serializer );
524         }
525         if ( siteModel.getEdit() != null )
526         {
527             serializer.startTag( NAMESPACE, "edit" ).text( siteModel.getEdit() ).endTag( NAMESPACE, "edit" );
528         }
529         if ( ( siteModel.getPoweredBy() != null ) && ( siteModel.getPoweredBy().size() > 0 ) )
530         {
531             serializer.startTag( NAMESPACE, "poweredBy" );
532             for ( Iterator iter = siteModel.getPoweredBy().iterator(); iter.hasNext(); )
533             {
534                 Logo o = (Logo) iter.next();
535                 writeLogo( o, "logo", serializer );
536             }
537             serializer.endTag( NAMESPACE, "poweredBy" );
538         }
539         if ( siteModel.getSkin() != null )
540         {
541             writeSkin( (Skin) siteModel.getSkin(), "skin", serializer );
542         }
543         if ( siteModel.getBody() != null )
544         {
545             writeBody( (Body) siteModel.getBody(), "body", serializer );
546         }
547         if ( siteModel.getCustom() != null )
548         {
549             ((Xpp3Dom) siteModel.getCustom()).writeToSerializer( NAMESPACE, serializer );
550         }
551         serializer.endTag( NAMESPACE, tagName );
552     } //-- void writeSiteModel( SiteModel, String, XmlSerializer )
553 
554     /**
555      * Method writeSkin.
556      * 
557      * @param skin a skin object.
558      * @param serializer a serializer object.
559      * @param tagName a tagName object.
560      * @throws java.io.IOException java.io.IOException if any.
561      */
562     private void writeSkin( Skin skin, String tagName, XmlSerializer serializer )
563         throws java.io.IOException
564     {
565         serializer.startTag( NAMESPACE, tagName );
566         if ( skin.getGroupId() != null )
567         {
568             serializer.startTag( NAMESPACE, "groupId" ).text( skin.getGroupId() ).endTag( NAMESPACE, "groupId" );
569         }
570         if ( skin.getArtifactId() != null )
571         {
572             serializer.startTag( NAMESPACE, "artifactId" ).text( skin.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
573         }
574         if ( skin.getVersion() != null )
575         {
576             serializer.startTag( NAMESPACE, "version" ).text( skin.getVersion() ).endTag( NAMESPACE, "version" );
577         }
578         serializer.endTag( NAMESPACE, tagName );
579     } //-- void writeSkin( Skin, String, XmlSerializer )
580 
581     /**
582      * Method writeVersion.
583      * 
584      * @param version a version object.
585      * @param serializer a serializer object.
586      * @param tagName a tagName object.
587      * @throws java.io.IOException java.io.IOException if any.
588      */
589     private void writeVersion( Version version, String tagName, XmlSerializer serializer )
590         throws java.io.IOException
591     {
592         serializer.startTag( NAMESPACE, tagName );
593         if ( ( version.getPosition() != null ) && !version.getPosition().equals( "left" ) )
594         {
595             serializer.attribute( NAMESPACE, "position", version.getPosition() );
596         }
597         serializer.endTag( NAMESPACE, tagName );
598     } //-- void writeVersion( Version, String, XmlSerializer )
599 
600 }