View Javadoc

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