View Javadoc
1   // =================== DO NOT EDIT THIS FILE ====================
2   // Generated by Modello 1.9.1,
3   // any modifications will be overwritten.
4   // ==============================================================
5   
6   package org.apache.maven.doxia.site.decoration.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.decoration.Banner;
16  import org.apache.maven.doxia.site.decoration.Body;
17  import org.apache.maven.doxia.site.decoration.DecorationModel;
18  import org.apache.maven.doxia.site.decoration.LinkItem;
19  import org.apache.maven.doxia.site.decoration.Logo;
20  import org.apache.maven.doxia.site.decoration.Menu;
21  import org.apache.maven.doxia.site.decoration.MenuItem;
22  import org.apache.maven.doxia.site.decoration.PublishDate;
23  import org.apache.maven.doxia.site.decoration.Skin;
24  import org.apache.maven.doxia.site.decoration.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 DecorationXpp3Writer.
31   * 
32   * @version $Revision$ $Date$
33   */
34  @SuppressWarnings( "all" )
35  public class DecorationXpp3Writer
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
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
71       * @param decorationModel
72       * @throws java.io.IOException
73       */
74      public void write( Writer writer, DecorationModel decorationModel )
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( decorationModel.getModelEncoding(), null );
82          writeDecorationModel( decorationModel, "project", serializer );
83          serializer.endDocument();
84      } //-- void write( Writer, DecorationModel )
85  
86      /**
87       * Method write.
88       * 
89       * @param stream
90       * @param decorationModel
91       * @throws java.io.IOException
92       */
93      public void write( OutputStream stream, DecorationModel decorationModel )
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, decorationModel.getModelEncoding() );
100         serializer.startDocument( decorationModel.getModelEncoding(), null );
101         writeDecorationModel( decorationModel, "project", serializer );
102         serializer.endDocument();
103     } //-- void write( OutputStream, DecorationModel )
104 
105     /**
106      * Method writeBanner.
107      * 
108      * @param banner
109      * @param serializer
110      * @param tagName
111      * @throws java.io.IOException
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
156      * @param serializer
157      * @param tagName
158      * @throws java.io.IOException
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 writeDecorationModel.
205      * 
206      * @param decorationModel
207      * @param serializer
208      * @param tagName
209      * @throws java.io.IOException
210      */
211     private void writeDecorationModel( DecorationModel decorationModel, String tagName, XmlSerializer serializer )
212         throws java.io.IOException
213     {
214         if ( this.fileComment != null )
215         {
216         serializer.comment(this.fileComment);
217         }
218         serializer.setPrefix( "", "http://maven.apache.org/DECORATION/1.8.0" );
219         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
220         serializer.startTag( NAMESPACE, tagName );
221         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/DECORATION/1.8.0 http://maven.apache.org/xsd/decoration-1.8.0.xsd" );
222         if ( decorationModel.getName() != null )
223         {
224             serializer.attribute( NAMESPACE, "name", decorationModel.getName() );
225         }
226         if ( ( decorationModel.getCombineSelf() != null ) && !decorationModel.getCombineSelf().equals( "merge" ) )
227         {
228             serializer.attribute( NAMESPACE, "combine.self", decorationModel.getCombineSelf() );
229         }
230         if ( decorationModel.getBannerLeft() != null )
231         {
232             writeBanner( (Banner) decorationModel.getBannerLeft(), "bannerLeft", serializer );
233         }
234         if ( decorationModel.getBannerRight() != null )
235         {
236             writeBanner( (Banner) decorationModel.getBannerRight(), "bannerRight", serializer );
237         }
238         if ( decorationModel.getGoogleAdSenseClient() != null )
239         {
240             serializer.startTag( NAMESPACE, "googleAdSenseClient" ).text( decorationModel.getGoogleAdSenseClient() ).endTag( NAMESPACE, "googleAdSenseClient" );
241         }
242         if ( decorationModel.getGoogleAdSenseSlot() != null )
243         {
244             serializer.startTag( NAMESPACE, "googleAdSenseSlot" ).text( decorationModel.getGoogleAdSenseSlot() ).endTag( NAMESPACE, "googleAdSenseSlot" );
245         }
246         if ( decorationModel.getGoogleAnalyticsAccountId() != null )
247         {
248             serializer.startTag( NAMESPACE, "googleAnalyticsAccountId" ).text( decorationModel.getGoogleAnalyticsAccountId() ).endTag( NAMESPACE, "googleAnalyticsAccountId" );
249         }
250         if ( decorationModel.getPublishDate() != null )
251         {
252             writePublishDate( (PublishDate) decorationModel.getPublishDate(), "publishDate", serializer );
253         }
254         if ( decorationModel.getVersion() != null )
255         {
256             writeVersion( (Version) decorationModel.getVersion(), "version", serializer );
257         }
258         if ( decorationModel.getEdit() != null )
259         {
260             serializer.startTag( NAMESPACE, "edit" ).text( decorationModel.getEdit() ).endTag( NAMESPACE, "edit" );
261         }
262         if ( ( decorationModel.getPoweredBy() != null ) && ( decorationModel.getPoweredBy().size() > 0 ) )
263         {
264             serializer.startTag( NAMESPACE, "poweredBy" );
265             for ( Iterator iter = decorationModel.getPoweredBy().iterator(); iter.hasNext(); )
266             {
267                 Logo o = (Logo) iter.next();
268                 writeLogo( o, "logo", serializer );
269             }
270             serializer.endTag( NAMESPACE, "poweredBy" );
271         }
272         if ( decorationModel.getSkin() != null )
273         {
274             writeSkin( (Skin) decorationModel.getSkin(), "skin", serializer );
275         }
276         if ( decorationModel.getBody() != null )
277         {
278             writeBody( (Body) decorationModel.getBody(), "body", serializer );
279         }
280         if ( decorationModel.getCustom() != null )
281         {
282             ((Xpp3Dom) decorationModel.getCustom()).writeToSerializer( NAMESPACE, serializer );
283         }
284         serializer.endTag( NAMESPACE, tagName );
285     } //-- void writeDecorationModel( DecorationModel, String, XmlSerializer )
286 
287     /**
288      * Method writeLinkItem.
289      * 
290      * @param linkItem
291      * @param serializer
292      * @param tagName
293      * @throws java.io.IOException
294      */
295     private void writeLinkItem( LinkItem linkItem, String tagName, XmlSerializer serializer )
296         throws java.io.IOException
297     {
298         serializer.startTag( NAMESPACE, tagName );
299         if ( linkItem.getName() != null )
300         {
301             serializer.attribute( NAMESPACE, "name", linkItem.getName() );
302         }
303         if ( linkItem.getHref() != null )
304         {
305             serializer.attribute( NAMESPACE, "href", linkItem.getHref() );
306         }
307         if ( linkItem.getImg() != null )
308         {
309             serializer.attribute( NAMESPACE, "img", linkItem.getImg() );
310         }
311         if ( ( linkItem.getPosition() != null ) && !linkItem.getPosition().equals( "left" ) )
312         {
313             serializer.attribute( NAMESPACE, "position", linkItem.getPosition() );
314         }
315         if ( linkItem.getAlt() != null )
316         {
317             serializer.attribute( NAMESPACE, "alt", linkItem.getAlt() );
318         }
319         if ( linkItem.getBorder() != null )
320         {
321             serializer.attribute( NAMESPACE, "border", linkItem.getBorder() );
322         }
323         if ( linkItem.getWidth() != null )
324         {
325             serializer.attribute( NAMESPACE, "width", linkItem.getWidth() );
326         }
327         if ( linkItem.getHeight() != null )
328         {
329             serializer.attribute( NAMESPACE, "height", linkItem.getHeight() );
330         }
331         if ( linkItem.getTarget() != null )
332         {
333             serializer.attribute( NAMESPACE, "target", linkItem.getTarget() );
334         }
335         if ( linkItem.getTitle() != null )
336         {
337             serializer.attribute( NAMESPACE, "title", linkItem.getTitle() );
338         }
339         serializer.endTag( NAMESPACE, tagName );
340     } //-- void writeLinkItem( LinkItem, String, XmlSerializer )
341 
342     /**
343      * Method writeLogo.
344      * 
345      * @param logo
346      * @param serializer
347      * @param tagName
348      * @throws java.io.IOException
349      */
350     private void writeLogo( Logo logo, String tagName, XmlSerializer serializer )
351         throws java.io.IOException
352     {
353         serializer.startTag( NAMESPACE, tagName );
354         if ( logo.getName() != null )
355         {
356             serializer.attribute( NAMESPACE, "name", logo.getName() );
357         }
358         if ( logo.getHref() != null )
359         {
360             serializer.attribute( NAMESPACE, "href", logo.getHref() );
361         }
362         if ( logo.getImg() != null )
363         {
364             serializer.attribute( NAMESPACE, "img", logo.getImg() );
365         }
366         if ( ( logo.getPosition() != null ) && !logo.getPosition().equals( "left" ) )
367         {
368             serializer.attribute( NAMESPACE, "position", logo.getPosition() );
369         }
370         if ( logo.getAlt() != null )
371         {
372             serializer.attribute( NAMESPACE, "alt", logo.getAlt() );
373         }
374         if ( logo.getBorder() != null )
375         {
376             serializer.attribute( NAMESPACE, "border", logo.getBorder() );
377         }
378         if ( logo.getWidth() != null )
379         {
380             serializer.attribute( NAMESPACE, "width", logo.getWidth() );
381         }
382         if ( logo.getHeight() != null )
383         {
384             serializer.attribute( NAMESPACE, "height", logo.getHeight() );
385         }
386         if ( logo.getTarget() != null )
387         {
388             serializer.attribute( NAMESPACE, "target", logo.getTarget() );
389         }
390         if ( logo.getTitle() != null )
391         {
392             serializer.attribute( NAMESPACE, "title", logo.getTitle() );
393         }
394         serializer.endTag( NAMESPACE, tagName );
395     } //-- void writeLogo( Logo, String, XmlSerializer )
396 
397     /**
398      * Method writeMenu.
399      * 
400      * @param menu
401      * @param serializer
402      * @param tagName
403      * @throws java.io.IOException
404      */
405     private void writeMenu( Menu menu, String tagName, XmlSerializer serializer )
406         throws java.io.IOException
407     {
408         serializer.startTag( NAMESPACE, tagName );
409         if ( menu.getName() != null )
410         {
411             serializer.attribute( NAMESPACE, "name", menu.getName() );
412         }
413         if ( menu.getInherit() != null )
414         {
415             serializer.attribute( NAMESPACE, "inherit", menu.getInherit() );
416         }
417         if ( menu.isInheritAsRef() != false )
418         {
419             serializer.attribute( NAMESPACE, "inheritAsRef", String.valueOf( menu.isInheritAsRef() ) );
420         }
421         if ( menu.getRef() != null )
422         {
423             serializer.attribute( NAMESPACE, "ref", menu.getRef() );
424         }
425         if ( menu.getImg() != null )
426         {
427             serializer.attribute( NAMESPACE, "img", menu.getImg() );
428         }
429         if ( menu.getAlt() != null )
430         {
431             serializer.attribute( NAMESPACE, "alt", menu.getAlt() );
432         }
433         if ( ( menu.getPosition() != null ) && !menu.getPosition().equals( "left" ) )
434         {
435             serializer.attribute( NAMESPACE, "position", menu.getPosition() );
436         }
437         if ( menu.getBorder() != null )
438         {
439             serializer.attribute( NAMESPACE, "border", menu.getBorder() );
440         }
441         if ( menu.getWidth() != null )
442         {
443             serializer.attribute( NAMESPACE, "width", menu.getWidth() );
444         }
445         if ( menu.getHeight() != null )
446         {
447             serializer.attribute( NAMESPACE, "height", menu.getHeight() );
448         }
449         if ( menu.getTitle() != null )
450         {
451             serializer.attribute( NAMESPACE, "title", menu.getTitle() );
452         }
453         if ( ( menu.getItems() != null ) && ( menu.getItems().size() > 0 ) )
454         {
455             for ( Iterator iter = menu.getItems().iterator(); iter.hasNext(); )
456             {
457                 MenuItem o = (MenuItem) iter.next();
458                 writeMenuItem( o, "item", serializer );
459             }
460         }
461         serializer.endTag( NAMESPACE, tagName );
462     } //-- void writeMenu( Menu, String, XmlSerializer )
463 
464     /**
465      * Method writeMenuItem.
466      * 
467      * @param menuItem
468      * @param serializer
469      * @param tagName
470      * @throws java.io.IOException
471      */
472     private void writeMenuItem( MenuItem menuItem, String tagName, XmlSerializer serializer )
473         throws java.io.IOException
474     {
475         serializer.startTag( NAMESPACE, tagName );
476         if ( menuItem.isCollapse() != false )
477         {
478             serializer.attribute( NAMESPACE, "collapse", String.valueOf( menuItem.isCollapse() ) );
479         }
480         if ( menuItem.getRef() != null )
481         {
482             serializer.attribute( NAMESPACE, "ref", menuItem.getRef() );
483         }
484         if ( menuItem.getName() != null )
485         {
486             serializer.attribute( NAMESPACE, "name", menuItem.getName() );
487         }
488         if ( menuItem.getHref() != null )
489         {
490             serializer.attribute( NAMESPACE, "href", menuItem.getHref() );
491         }
492         if ( menuItem.getImg() != null )
493         {
494             serializer.attribute( NAMESPACE, "img", menuItem.getImg() );
495         }
496         if ( ( menuItem.getPosition() != null ) && !menuItem.getPosition().equals( "left" ) )
497         {
498             serializer.attribute( NAMESPACE, "position", menuItem.getPosition() );
499         }
500         if ( menuItem.getAlt() != null )
501         {
502             serializer.attribute( NAMESPACE, "alt", menuItem.getAlt() );
503         }
504         if ( menuItem.getBorder() != null )
505         {
506             serializer.attribute( NAMESPACE, "border", menuItem.getBorder() );
507         }
508         if ( menuItem.getWidth() != null )
509         {
510             serializer.attribute( NAMESPACE, "width", menuItem.getWidth() );
511         }
512         if ( menuItem.getHeight() != null )
513         {
514             serializer.attribute( NAMESPACE, "height", menuItem.getHeight() );
515         }
516         if ( menuItem.getTarget() != null )
517         {
518             serializer.attribute( NAMESPACE, "target", menuItem.getTarget() );
519         }
520         if ( menuItem.getTitle() != null )
521         {
522             serializer.attribute( NAMESPACE, "title", menuItem.getTitle() );
523         }
524         if ( menuItem.getDescription() != null )
525         {
526             serializer.startTag( NAMESPACE, "description" ).text( menuItem.getDescription() ).endTag( NAMESPACE, "description" );
527         }
528         if ( ( menuItem.getItems() != null ) && ( menuItem.getItems().size() > 0 ) )
529         {
530             for ( Iterator iter = menuItem.getItems().iterator(); iter.hasNext(); )
531             {
532                 MenuItem o = (MenuItem) iter.next();
533                 writeMenuItem( o, "item", serializer );
534             }
535         }
536         serializer.endTag( NAMESPACE, tagName );
537     } //-- void writeMenuItem( MenuItem, String, XmlSerializer )
538 
539     /**
540      * Method writePublishDate.
541      * 
542      * @param publishDate
543      * @param serializer
544      * @param tagName
545      * @throws java.io.IOException
546      */
547     private void writePublishDate( PublishDate publishDate, String tagName, XmlSerializer serializer )
548         throws java.io.IOException
549     {
550         serializer.startTag( NAMESPACE, tagName );
551         if ( ( publishDate.getPosition() != null ) && !publishDate.getPosition().equals( "left" ) )
552         {
553             serializer.attribute( NAMESPACE, "position", publishDate.getPosition() );
554         }
555         if ( ( publishDate.getFormat() != null ) && !publishDate.getFormat().equals( "yyyy-MM-dd" ) )
556         {
557             serializer.attribute( NAMESPACE, "format", publishDate.getFormat() );
558         }
559         serializer.endTag( NAMESPACE, tagName );
560     } //-- void writePublishDate( PublishDate, String, XmlSerializer )
561 
562     /**
563      * Method writeSkin.
564      * 
565      * @param skin
566      * @param serializer
567      * @param tagName
568      * @throws java.io.IOException
569      */
570     private void writeSkin( Skin skin, String tagName, XmlSerializer serializer )
571         throws java.io.IOException
572     {
573         serializer.startTag( NAMESPACE, tagName );
574         if ( skin.getGroupId() != null )
575         {
576             serializer.startTag( NAMESPACE, "groupId" ).text( skin.getGroupId() ).endTag( NAMESPACE, "groupId" );
577         }
578         if ( skin.getArtifactId() != null )
579         {
580             serializer.startTag( NAMESPACE, "artifactId" ).text( skin.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
581         }
582         if ( skin.getVersion() != null )
583         {
584             serializer.startTag( NAMESPACE, "version" ).text( skin.getVersion() ).endTag( NAMESPACE, "version" );
585         }
586         serializer.endTag( NAMESPACE, tagName );
587     } //-- void writeSkin( Skin, String, XmlSerializer )
588 
589     /**
590      * Method writeVersion.
591      * 
592      * @param version
593      * @param serializer
594      * @param tagName
595      * @throws java.io.IOException
596      */
597     private void writeVersion( Version version, String tagName, XmlSerializer serializer )
598         throws java.io.IOException
599     {
600         serializer.startTag( NAMESPACE, tagName );
601         if ( ( version.getPosition() != null ) && !version.getPosition().equals( "left" ) )
602         {
603             serializer.attribute( NAMESPACE, "position", version.getPosition() );
604         }
605         serializer.endTag( NAMESPACE, tagName );
606     } //-- void writeVersion( Version, String, XmlSerializer )
607 
608 }