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.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 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 decorationModel a decorationModel object.
72       * @throws java.io.IOException java.io.IOException if any.
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 a stream object.
90       * @param decorationModel a decorationModel object.
91       * @throws java.io.IOException java.io.IOException if any.
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 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 writeDecorationModel.
205      * 
206      * @param decorationModel a decorationModel 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 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/2.0.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/2.0.0 http://maven.apache.org/xsd/decoration-2.0.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.getPublishDate() != null )
239         {
240             writePublishDate( (PublishDate) decorationModel.getPublishDate(), "publishDate", serializer );
241         }
242         if ( decorationModel.getVersion() != null )
243         {
244             writeVersion( (Version) decorationModel.getVersion(), "version", serializer );
245         }
246         if ( decorationModel.getEdit() != null )
247         {
248             serializer.startTag( NAMESPACE, "edit" ).text( decorationModel.getEdit() ).endTag( NAMESPACE, "edit" );
249         }
250         if ( ( decorationModel.getPoweredBy() != null ) && ( decorationModel.getPoweredBy().size() > 0 ) )
251         {
252             serializer.startTag( NAMESPACE, "poweredBy" );
253             for ( Iterator iter = decorationModel.getPoweredBy().iterator(); iter.hasNext(); )
254             {
255                 Logo o = (Logo) iter.next();
256                 writeLogo( o, "logo", serializer );
257             }
258             serializer.endTag( NAMESPACE, "poweredBy" );
259         }
260         if ( decorationModel.getSkin() != null )
261         {
262             writeSkin( (Skin) decorationModel.getSkin(), "skin", serializer );
263         }
264         if ( decorationModel.getBody() != null )
265         {
266             writeBody( (Body) decorationModel.getBody(), "body", serializer );
267         }
268         if ( decorationModel.getCustom() != null )
269         {
270             ((Xpp3Dom) decorationModel.getCustom()).writeToSerializer( NAMESPACE, serializer );
271         }
272         serializer.endTag( NAMESPACE, tagName );
273     } //-- void writeDecorationModel( DecorationModel, String, XmlSerializer )
274 
275     /**
276      * Method writeLinkItem.
277      * 
278      * @param linkItem a linkItem object.
279      * @param serializer a serializer object.
280      * @param tagName a tagName object.
281      * @throws java.io.IOException java.io.IOException if any.
282      */
283     private void writeLinkItem( LinkItem linkItem, String tagName, XmlSerializer serializer )
284         throws java.io.IOException
285     {
286         serializer.startTag( NAMESPACE, tagName );
287         if ( linkItem.getName() != null )
288         {
289             serializer.attribute( NAMESPACE, "name", linkItem.getName() );
290         }
291         if ( linkItem.getHref() != null )
292         {
293             serializer.attribute( NAMESPACE, "href", linkItem.getHref() );
294         }
295         if ( linkItem.getImg() != null )
296         {
297             serializer.attribute( NAMESPACE, "img", linkItem.getImg() );
298         }
299         if ( ( linkItem.getPosition() != null ) && !linkItem.getPosition().equals( "left" ) )
300         {
301             serializer.attribute( NAMESPACE, "position", linkItem.getPosition() );
302         }
303         if ( linkItem.getAlt() != null )
304         {
305             serializer.attribute( NAMESPACE, "alt", linkItem.getAlt() );
306         }
307         if ( linkItem.getBorder() != null )
308         {
309             serializer.attribute( NAMESPACE, "border", linkItem.getBorder() );
310         }
311         if ( linkItem.getWidth() != null )
312         {
313             serializer.attribute( NAMESPACE, "width", linkItem.getWidth() );
314         }
315         if ( linkItem.getHeight() != null )
316         {
317             serializer.attribute( NAMESPACE, "height", linkItem.getHeight() );
318         }
319         if ( linkItem.getTarget() != null )
320         {
321             serializer.attribute( NAMESPACE, "target", linkItem.getTarget() );
322         }
323         if ( linkItem.getTitle() != null )
324         {
325             serializer.attribute( NAMESPACE, "title", linkItem.getTitle() );
326         }
327         serializer.endTag( NAMESPACE, tagName );
328     } //-- void writeLinkItem( LinkItem, String, XmlSerializer )
329 
330     /**
331      * Method writeLogo.
332      * 
333      * @param logo a logo object.
334      * @param serializer a serializer object.
335      * @param tagName a tagName object.
336      * @throws java.io.IOException java.io.IOException if any.
337      */
338     private void writeLogo( Logo logo, String tagName, XmlSerializer serializer )
339         throws java.io.IOException
340     {
341         serializer.startTag( NAMESPACE, tagName );
342         if ( logo.getName() != null )
343         {
344             serializer.attribute( NAMESPACE, "name", logo.getName() );
345         }
346         if ( logo.getHref() != null )
347         {
348             serializer.attribute( NAMESPACE, "href", logo.getHref() );
349         }
350         if ( logo.getImg() != null )
351         {
352             serializer.attribute( NAMESPACE, "img", logo.getImg() );
353         }
354         if ( ( logo.getPosition() != null ) && !logo.getPosition().equals( "left" ) )
355         {
356             serializer.attribute( NAMESPACE, "position", logo.getPosition() );
357         }
358         if ( logo.getAlt() != null )
359         {
360             serializer.attribute( NAMESPACE, "alt", logo.getAlt() );
361         }
362         if ( logo.getBorder() != null )
363         {
364             serializer.attribute( NAMESPACE, "border", logo.getBorder() );
365         }
366         if ( logo.getWidth() != null )
367         {
368             serializer.attribute( NAMESPACE, "width", logo.getWidth() );
369         }
370         if ( logo.getHeight() != null )
371         {
372             serializer.attribute( NAMESPACE, "height", logo.getHeight() );
373         }
374         if ( logo.getTarget() != null )
375         {
376             serializer.attribute( NAMESPACE, "target", logo.getTarget() );
377         }
378         if ( logo.getTitle() != null )
379         {
380             serializer.attribute( NAMESPACE, "title", logo.getTitle() );
381         }
382         serializer.endTag( NAMESPACE, tagName );
383     } //-- void writeLogo( Logo, String, XmlSerializer )
384 
385     /**
386      * Method writeMenu.
387      * 
388      * @param menu a menu object.
389      * @param serializer a serializer object.
390      * @param tagName a tagName object.
391      * @throws java.io.IOException java.io.IOException if any.
392      */
393     private void writeMenu( Menu menu, String tagName, XmlSerializer serializer )
394         throws java.io.IOException
395     {
396         serializer.startTag( NAMESPACE, tagName );
397         if ( menu.getName() != null )
398         {
399             serializer.attribute( NAMESPACE, "name", menu.getName() );
400         }
401         if ( menu.getInherit() != null )
402         {
403             serializer.attribute( NAMESPACE, "inherit", menu.getInherit() );
404         }
405         if ( menu.isInheritAsRef() != false )
406         {
407             serializer.attribute( NAMESPACE, "inheritAsRef", String.valueOf( menu.isInheritAsRef() ) );
408         }
409         if ( menu.getRef() != null )
410         {
411             serializer.attribute( NAMESPACE, "ref", menu.getRef() );
412         }
413         if ( menu.getImg() != null )
414         {
415             serializer.attribute( NAMESPACE, "img", menu.getImg() );
416         }
417         if ( menu.getAlt() != null )
418         {
419             serializer.attribute( NAMESPACE, "alt", menu.getAlt() );
420         }
421         if ( ( menu.getPosition() != null ) && !menu.getPosition().equals( "left" ) )
422         {
423             serializer.attribute( NAMESPACE, "position", menu.getPosition() );
424         }
425         if ( menu.getBorder() != null )
426         {
427             serializer.attribute( NAMESPACE, "border", menu.getBorder() );
428         }
429         if ( menu.getWidth() != null )
430         {
431             serializer.attribute( NAMESPACE, "width", menu.getWidth() );
432         }
433         if ( menu.getHeight() != null )
434         {
435             serializer.attribute( NAMESPACE, "height", menu.getHeight() );
436         }
437         if ( menu.getTitle() != null )
438         {
439             serializer.attribute( NAMESPACE, "title", menu.getTitle() );
440         }
441         if ( ( menu.getItems() != null ) && ( menu.getItems().size() > 0 ) )
442         {
443             for ( Iterator iter = menu.getItems().iterator(); iter.hasNext(); )
444             {
445                 MenuItem o = (MenuItem) iter.next();
446                 writeMenuItem( o, "item", serializer );
447             }
448         }
449         serializer.endTag( NAMESPACE, tagName );
450     } //-- void writeMenu( Menu, String, XmlSerializer )
451 
452     /**
453      * Method writeMenuItem.
454      * 
455      * @param menuItem a menuItem object.
456      * @param serializer a serializer object.
457      * @param tagName a tagName object.
458      * @throws java.io.IOException java.io.IOException if any.
459      */
460     private void writeMenuItem( MenuItem menuItem, String tagName, XmlSerializer serializer )
461         throws java.io.IOException
462     {
463         serializer.startTag( NAMESPACE, tagName );
464         if ( menuItem.isCollapse() != false )
465         {
466             serializer.attribute( NAMESPACE, "collapse", String.valueOf( menuItem.isCollapse() ) );
467         }
468         if ( menuItem.getRef() != null )
469         {
470             serializer.attribute( NAMESPACE, "ref", menuItem.getRef() );
471         }
472         if ( menuItem.getName() != null )
473         {
474             serializer.attribute( NAMESPACE, "name", menuItem.getName() );
475         }
476         if ( menuItem.getHref() != null )
477         {
478             serializer.attribute( NAMESPACE, "href", menuItem.getHref() );
479         }
480         if ( menuItem.getImg() != null )
481         {
482             serializer.attribute( NAMESPACE, "img", menuItem.getImg() );
483         }
484         if ( ( menuItem.getPosition() != null ) && !menuItem.getPosition().equals( "left" ) )
485         {
486             serializer.attribute( NAMESPACE, "position", menuItem.getPosition() );
487         }
488         if ( menuItem.getAlt() != null )
489         {
490             serializer.attribute( NAMESPACE, "alt", menuItem.getAlt() );
491         }
492         if ( menuItem.getBorder() != null )
493         {
494             serializer.attribute( NAMESPACE, "border", menuItem.getBorder() );
495         }
496         if ( menuItem.getWidth() != null )
497         {
498             serializer.attribute( NAMESPACE, "width", menuItem.getWidth() );
499         }
500         if ( menuItem.getHeight() != null )
501         {
502             serializer.attribute( NAMESPACE, "height", menuItem.getHeight() );
503         }
504         if ( menuItem.getTarget() != null )
505         {
506             serializer.attribute( NAMESPACE, "target", menuItem.getTarget() );
507         }
508         if ( menuItem.getTitle() != null )
509         {
510             serializer.attribute( NAMESPACE, "title", menuItem.getTitle() );
511         }
512         if ( menuItem.getDescription() != null )
513         {
514             serializer.startTag( NAMESPACE, "description" ).text( menuItem.getDescription() ).endTag( NAMESPACE, "description" );
515         }
516         if ( ( menuItem.getItems() != null ) && ( menuItem.getItems().size() > 0 ) )
517         {
518             for ( Iterator iter = menuItem.getItems().iterator(); iter.hasNext(); )
519             {
520                 MenuItem o = (MenuItem) iter.next();
521                 writeMenuItem( o, "item", serializer );
522             }
523         }
524         serializer.endTag( NAMESPACE, tagName );
525     } //-- void writeMenuItem( MenuItem, String, XmlSerializer )
526 
527     /**
528      * Method writePublishDate.
529      * 
530      * @param publishDate a publishDate object.
531      * @param serializer a serializer object.
532      * @param tagName a tagName object.
533      * @throws java.io.IOException java.io.IOException if any.
534      */
535     private void writePublishDate( PublishDate publishDate, String tagName, XmlSerializer serializer )
536         throws java.io.IOException
537     {
538         serializer.startTag( NAMESPACE, tagName );
539         if ( ( publishDate.getPosition() != null ) && !publishDate.getPosition().equals( "left" ) )
540         {
541             serializer.attribute( NAMESPACE, "position", publishDate.getPosition() );
542         }
543         if ( ( publishDate.getFormat() != null ) && !publishDate.getFormat().equals( "yyyy-MM-dd" ) )
544         {
545             serializer.attribute( NAMESPACE, "format", publishDate.getFormat() );
546         }
547         if ( ( publishDate.getTimezone() != null ) && !publishDate.getTimezone().equals( "Etc/UTC" ) )
548         {
549             serializer.attribute( NAMESPACE, "timezone", publishDate.getTimezone() );
550         }
551         serializer.endTag( NAMESPACE, tagName );
552     } //-- void writePublishDate( PublishDate, 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 }