View Javadoc

1   /*
2    =================== DO NOT EDIT THIS FILE ====================
3    Generated by Modello 1.4.1 on 2011-04-27 00:03:43,
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         serializer.endTag( NAMESPACE, tagName );
135     } //-- void writeBanner( Banner, String, XmlSerializer )
136 
137     /**
138      * Method writeBody.
139      * 
140      * @param body
141      * @param serializer
142      * @param tagName
143      * @throws java.io.IOException
144      */
145     private void writeBody( Body body, String tagName, XmlSerializer serializer )
146         throws java.io.IOException
147     {
148         serializer.startTag( NAMESPACE, tagName );
149         if ( body.getHead() != null )
150         {
151             ((Xpp3Dom) body.getHead()).writeToSerializer( NAMESPACE, serializer );
152         }
153         if ( ( body.getLinks() != null ) && ( body.getLinks().size() > 0 ) )
154         {
155             serializer.startTag( NAMESPACE, "links" );
156             for ( Iterator iter = body.getLinks().iterator(); iter.hasNext(); )
157             {
158                 LinkItem o = (LinkItem) iter.next();
159                 writeLinkItem( o, "item", serializer );
160             }
161             serializer.endTag( NAMESPACE, "links" );
162         }
163         if ( ( body.getBreadcrumbs() != null ) && ( body.getBreadcrumbs().size() > 0 ) )
164         {
165             serializer.startTag( NAMESPACE, "breadcrumbs" );
166             for ( Iterator iter = body.getBreadcrumbs().iterator(); iter.hasNext(); )
167             {
168                 LinkItem o = (LinkItem) iter.next();
169                 writeLinkItem( o, "item", serializer );
170             }
171             serializer.endTag( NAMESPACE, "breadcrumbs" );
172         }
173         if ( ( body.getMenus() != null ) && ( body.getMenus().size() > 0 ) )
174         {
175             for ( Iterator iter = body.getMenus().iterator(); iter.hasNext(); )
176             {
177                 Menu o = (Menu) iter.next();
178                 writeMenu( o, "menu", serializer );
179             }
180         }
181         if ( body.getFooter() != null )
182         {
183             ((Xpp3Dom) body.getFooter()).writeToSerializer( NAMESPACE, serializer );
184         }
185         serializer.endTag( NAMESPACE, tagName );
186     } //-- void writeBody( Body, String, XmlSerializer )
187 
188     /**
189      * Method writeDecorationModel.
190      * 
191      * @param decorationModel
192      * @param serializer
193      * @param tagName
194      * @throws java.io.IOException
195      */
196     private void writeDecorationModel( DecorationModel decorationModel, String tagName, XmlSerializer serializer )
197         throws java.io.IOException
198     {
199         serializer.setPrefix( "", "http://maven.apache.org/DECORATION/1.1.0" );
200         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
201         serializer.startTag( NAMESPACE, tagName );
202         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/DECORATION/1.1.0 http://maven.apache.org/xsd/decoration-1.1.0.xsd" );
203         if ( decorationModel.getName() != null )
204         {
205             serializer.attribute( NAMESPACE, "name", decorationModel.getName() );
206         }
207         if ( decorationModel.getBannerLeft() != null )
208         {
209             writeBanner( (Banner) decorationModel.getBannerLeft(), "bannerLeft", serializer );
210         }
211         if ( decorationModel.getBannerRight() != null )
212         {
213             writeBanner( (Banner) decorationModel.getBannerRight(), "bannerRight", serializer );
214         }
215         if ( decorationModel.getGoogleAnalyticsAccountId() != null )
216         {
217             serializer.startTag( NAMESPACE, "googleAnalyticsAccountId" ).text( decorationModel.getGoogleAnalyticsAccountId() ).endTag( NAMESPACE, "googleAnalyticsAccountId" );
218         }
219         if ( decorationModel.getPublishDate() != null )
220         {
221             writePublishDate( (PublishDate) decorationModel.getPublishDate(), "publishDate", serializer );
222         }
223         if ( decorationModel.getVersion() != null )
224         {
225             writeVersion( (Version) decorationModel.getVersion(), "version", serializer );
226         }
227         if ( ( decorationModel.getPoweredBy() != null ) && ( decorationModel.getPoweredBy().size() > 0 ) )
228         {
229             serializer.startTag( NAMESPACE, "poweredBy" );
230             for ( Iterator iter = decorationModel.getPoweredBy().iterator(); iter.hasNext(); )
231             {
232                 Logo o = (Logo) iter.next();
233                 writeLogo( o, "logo", serializer );
234             }
235             serializer.endTag( NAMESPACE, "poweredBy" );
236         }
237         if ( decorationModel.getSkin() != null )
238         {
239             writeSkin( (Skin) decorationModel.getSkin(), "skin", serializer );
240         }
241         if ( decorationModel.getBody() != null )
242         {
243             writeBody( (Body) decorationModel.getBody(), "body", serializer );
244         }
245         if ( decorationModel.getCustom() != null )
246         {
247             ((Xpp3Dom) decorationModel.getCustom()).writeToSerializer( NAMESPACE, serializer );
248         }
249         serializer.endTag( NAMESPACE, tagName );
250     } //-- void writeDecorationModel( DecorationModel, String, XmlSerializer )
251 
252     /**
253      * Method writeLinkItem.
254      * 
255      * @param linkItem
256      * @param serializer
257      * @param tagName
258      * @throws java.io.IOException
259      */
260     private void writeLinkItem( LinkItem linkItem, String tagName, XmlSerializer serializer )
261         throws java.io.IOException
262     {
263         serializer.startTag( NAMESPACE, tagName );
264         if ( linkItem.getName() != null )
265         {
266             serializer.attribute( NAMESPACE, "name", linkItem.getName() );
267         }
268         if ( linkItem.getHref() != null )
269         {
270             serializer.attribute( NAMESPACE, "href", linkItem.getHref() );
271         }
272         if ( linkItem.getImg() != null )
273         {
274             serializer.attribute( NAMESPACE, "img", linkItem.getImg() );
275         }
276         if ( ( linkItem.getPosition() != null ) && !linkItem.getPosition().equals( "left" ) )
277         {
278             serializer.attribute( NAMESPACE, "position", linkItem.getPosition() );
279         }
280         if ( linkItem.getAlt() != null )
281         {
282             serializer.attribute( NAMESPACE, "alt", linkItem.getAlt() );
283         }
284         if ( linkItem.getBorder() != null )
285         {
286             serializer.attribute( NAMESPACE, "border", linkItem.getBorder() );
287         }
288         if ( linkItem.getWidth() != null )
289         {
290             serializer.attribute( NAMESPACE, "width", linkItem.getWidth() );
291         }
292         if ( linkItem.getHeight() != null )
293         {
294             serializer.attribute( NAMESPACE, "height", linkItem.getHeight() );
295         }
296         if ( linkItem.getTarget() != null )
297         {
298             serializer.attribute( NAMESPACE, "target", linkItem.getTarget() );
299         }
300         serializer.endTag( NAMESPACE, tagName );
301     } //-- void writeLinkItem( LinkItem, String, XmlSerializer )
302 
303     /**
304      * Method writeLogo.
305      * 
306      * @param logo
307      * @param serializer
308      * @param tagName
309      * @throws java.io.IOException
310      */
311     private void writeLogo( Logo logo, String tagName, XmlSerializer serializer )
312         throws java.io.IOException
313     {
314         serializer.startTag( NAMESPACE, tagName );
315         if ( logo.getName() != null )
316         {
317             serializer.attribute( NAMESPACE, "name", logo.getName() );
318         }
319         if ( logo.getHref() != null )
320         {
321             serializer.attribute( NAMESPACE, "href", logo.getHref() );
322         }
323         if ( logo.getImg() != null )
324         {
325             serializer.attribute( NAMESPACE, "img", logo.getImg() );
326         }
327         if ( ( logo.getPosition() != null ) && !logo.getPosition().equals( "left" ) )
328         {
329             serializer.attribute( NAMESPACE, "position", logo.getPosition() );
330         }
331         if ( logo.getAlt() != null )
332         {
333             serializer.attribute( NAMESPACE, "alt", logo.getAlt() );
334         }
335         if ( logo.getBorder() != null )
336         {
337             serializer.attribute( NAMESPACE, "border", logo.getBorder() );
338         }
339         if ( logo.getWidth() != null )
340         {
341             serializer.attribute( NAMESPACE, "width", logo.getWidth() );
342         }
343         if ( logo.getHeight() != null )
344         {
345             serializer.attribute( NAMESPACE, "height", logo.getHeight() );
346         }
347         if ( logo.getTarget() != null )
348         {
349             serializer.attribute( NAMESPACE, "target", logo.getTarget() );
350         }
351         serializer.endTag( NAMESPACE, tagName );
352     } //-- void writeLogo( Logo, String, XmlSerializer )
353 
354     /**
355      * Method writeMenu.
356      * 
357      * @param menu
358      * @param serializer
359      * @param tagName
360      * @throws java.io.IOException
361      */
362     private void writeMenu( Menu menu, String tagName, XmlSerializer serializer )
363         throws java.io.IOException
364     {
365         serializer.startTag( NAMESPACE, tagName );
366         if ( menu.getName() != null )
367         {
368             serializer.attribute( NAMESPACE, "name", menu.getName() );
369         }
370         if ( menu.getInherit() != null )
371         {
372             serializer.attribute( NAMESPACE, "inherit", menu.getInherit() );
373         }
374         if ( menu.isInheritAsRef() != false )
375         {
376             serializer.attribute( NAMESPACE, "inheritAsRef", String.valueOf( menu.isInheritAsRef() ) );
377         }
378         if ( menu.getRef() != null )
379         {
380             serializer.attribute( NAMESPACE, "ref", menu.getRef() );
381         }
382         if ( menu.getImg() != null )
383         {
384             serializer.attribute( NAMESPACE, "img", menu.getImg() );
385         }
386         if ( menu.getAlt() != null )
387         {
388             serializer.attribute( NAMESPACE, "alt", menu.getAlt() );
389         }
390         if ( ( menu.getPosition() != null ) && !menu.getPosition().equals( "left" ) )
391         {
392             serializer.attribute( NAMESPACE, "position", menu.getPosition() );
393         }
394         if ( menu.getBorder() != null )
395         {
396             serializer.attribute( NAMESPACE, "border", menu.getBorder() );
397         }
398         if ( menu.getWidth() != null )
399         {
400             serializer.attribute( NAMESPACE, "width", menu.getWidth() );
401         }
402         if ( menu.getHeight() != null )
403         {
404             serializer.attribute( NAMESPACE, "height", menu.getHeight() );
405         }
406         if ( ( menu.getItems() != null ) && ( menu.getItems().size() > 0 ) )
407         {
408             for ( Iterator iter = menu.getItems().iterator(); iter.hasNext(); )
409             {
410                 MenuItem o = (MenuItem) iter.next();
411                 writeMenuItem( o, "item", serializer );
412             }
413         }
414         serializer.endTag( NAMESPACE, tagName );
415     } //-- void writeMenu( Menu, String, XmlSerializer )
416 
417     /**
418      * Method writeMenuItem.
419      * 
420      * @param menuItem
421      * @param serializer
422      * @param tagName
423      * @throws java.io.IOException
424      */
425     private void writeMenuItem( MenuItem menuItem, String tagName, XmlSerializer serializer )
426         throws java.io.IOException
427     {
428         serializer.startTag( NAMESPACE, tagName );
429         if ( menuItem.isCollapse() != false )
430         {
431             serializer.attribute( NAMESPACE, "collapse", String.valueOf( menuItem.isCollapse() ) );
432         }
433         if ( menuItem.getRef() != null )
434         {
435             serializer.attribute( NAMESPACE, "ref", menuItem.getRef() );
436         }
437         if ( menuItem.getName() != null )
438         {
439             serializer.attribute( NAMESPACE, "name", menuItem.getName() );
440         }
441         if ( menuItem.getHref() != null )
442         {
443             serializer.attribute( NAMESPACE, "href", menuItem.getHref() );
444         }
445         if ( menuItem.getImg() != null )
446         {
447             serializer.attribute( NAMESPACE, "img", menuItem.getImg() );
448         }
449         if ( ( menuItem.getPosition() != null ) && !menuItem.getPosition().equals( "left" ) )
450         {
451             serializer.attribute( NAMESPACE, "position", menuItem.getPosition() );
452         }
453         if ( menuItem.getAlt() != null )
454         {
455             serializer.attribute( NAMESPACE, "alt", menuItem.getAlt() );
456         }
457         if ( menuItem.getBorder() != null )
458         {
459             serializer.attribute( NAMESPACE, "border", menuItem.getBorder() );
460         }
461         if ( menuItem.getWidth() != null )
462         {
463             serializer.attribute( NAMESPACE, "width", menuItem.getWidth() );
464         }
465         if ( menuItem.getHeight() != null )
466         {
467             serializer.attribute( NAMESPACE, "height", menuItem.getHeight() );
468         }
469         if ( menuItem.getTarget() != null )
470         {
471             serializer.attribute( NAMESPACE, "target", menuItem.getTarget() );
472         }
473         if ( menuItem.getDescription() != null )
474         {
475             serializer.startTag( NAMESPACE, "description" ).text( menuItem.getDescription() ).endTag( NAMESPACE, "description" );
476         }
477         if ( ( menuItem.getItems() != null ) && ( menuItem.getItems().size() > 0 ) )
478         {
479             for ( Iterator iter = menuItem.getItems().iterator(); iter.hasNext(); )
480             {
481                 MenuItem o = (MenuItem) iter.next();
482                 writeMenuItem( o, "item", serializer );
483             }
484         }
485         serializer.endTag( NAMESPACE, tagName );
486     } //-- void writeMenuItem( MenuItem, String, XmlSerializer )
487 
488     /**
489      * Method writePublishDate.
490      * 
491      * @param publishDate
492      * @param serializer
493      * @param tagName
494      * @throws java.io.IOException
495      */
496     private void writePublishDate( PublishDate publishDate, String tagName, XmlSerializer serializer )
497         throws java.io.IOException
498     {
499         serializer.startTag( NAMESPACE, tagName );
500         if ( publishDate.getPosition() != null )
501         {
502             serializer.attribute( NAMESPACE, "position", publishDate.getPosition() );
503         }
504         if ( ( publishDate.getFormat() != null ) && !publishDate.getFormat().equals( "yyyy-MM-dd" ) )
505         {
506             serializer.attribute( NAMESPACE, "format", publishDate.getFormat() );
507         }
508         serializer.endTag( NAMESPACE, tagName );
509     } //-- void writePublishDate( PublishDate, String, XmlSerializer )
510 
511     /**
512      * Method writeSkin.
513      * 
514      * @param skin
515      * @param serializer
516      * @param tagName
517      * @throws java.io.IOException
518      */
519     private void writeSkin( Skin skin, String tagName, XmlSerializer serializer )
520         throws java.io.IOException
521     {
522         serializer.startTag( NAMESPACE, tagName );
523         if ( skin.getGroupId() != null )
524         {
525             serializer.startTag( NAMESPACE, "groupId" ).text( skin.getGroupId() ).endTag( NAMESPACE, "groupId" );
526         }
527         if ( skin.getArtifactId() != null )
528         {
529             serializer.startTag( NAMESPACE, "artifactId" ).text( skin.getArtifactId() ).endTag( NAMESPACE, "artifactId" );
530         }
531         if ( skin.getVersion() != null )
532         {
533             serializer.startTag( NAMESPACE, "version" ).text( skin.getVersion() ).endTag( NAMESPACE, "version" );
534         }
535         serializer.endTag( NAMESPACE, tagName );
536     } //-- void writeSkin( Skin, String, XmlSerializer )
537 
538     /**
539      * Method writeVersion.
540      * 
541      * @param version
542      * @param serializer
543      * @param tagName
544      * @throws java.io.IOException
545      */
546     private void writeVersion( Version version, String tagName, XmlSerializer serializer )
547         throws java.io.IOException
548     {
549         serializer.startTag( NAMESPACE, tagName );
550         if ( version.getPosition() != null )
551         {
552             serializer.attribute( NAMESPACE, "position", version.getPosition() );
553         }
554         serializer.endTag( NAMESPACE, tagName );
555     } //-- void writeVersion( Version, String, XmlSerializer )
556 
557 }