View Javadoc
1   // =================== DO NOT EDIT THIS FILE ====================
2   // Generated by Modello 1.11,
3   // any modifications will be overwritten.
4   // ==============================================================
5   
6   package org.codehaus.mojo.taglist.output.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.codehaus.mojo.taglist.output.TagListXMLComment;
16  import org.codehaus.mojo.taglist.output.TagListXMLFile;
17  import org.codehaus.mojo.taglist.output.TagListXMLReport;
18  import org.codehaus.mojo.taglist.output.TagListXMLTag;
19  import org.codehaus.plexus.util.xml.pull.MXSerializer;
20  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
21  
22  /**
23   * Class TaglistOutputXpp3Writer.
24   * 
25   * @version $Revision$ $Date$
26   */
27  public class TaglistOutputXpp3Writer
28  {
29  
30        //--------------------------/
31       //- Class/Member Variables -/
32      //--------------------------/
33  
34      /**
35       * Field NAMESPACE.
36       */
37      private static final String NAMESPACE = null;
38  
39      /**
40       * Field fileComment.
41       */
42      private String fileComment = null;
43  
44  
45        //-----------/
46       //- Methods -/
47      //-----------/
48  
49      /**
50       * Method setFileComment.
51       * 
52       * @param fileComment
53       */
54      public void setFileComment( String fileComment )
55      {
56          this.fileComment = fileComment;
57      } //-- void setFileComment( String )
58  
59      /**
60       * Method write.
61       * 
62       * @param writer
63       * @param tagListXMLReport
64       * @throws java.io.IOException
65       */
66      public void write( Writer writer, TagListXMLReport tagListXMLReport )
67          throws java.io.IOException
68      {
69          XmlSerializer serializer = new MXSerializer();
70          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
71          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
72          serializer.setOutput( writer );
73          serializer.startDocument( tagListXMLReport.getModelEncoding(), null );
74          writeTagListXMLReport( tagListXMLReport, "report", serializer );
75          serializer.endDocument();
76      } //-- void write( Writer, TagListXMLReport )
77  
78      /**
79       * Method write.
80       * 
81       * @param stream
82       * @param tagListXMLReport
83       * @throws java.io.IOException
84       */
85      public void write( OutputStream stream, TagListXMLReport tagListXMLReport )
86          throws java.io.IOException
87      {
88          XmlSerializer serializer = new MXSerializer();
89          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
90          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
91          serializer.setOutput( stream, tagListXMLReport.getModelEncoding() );
92          serializer.startDocument( tagListXMLReport.getModelEncoding(), null );
93          writeTagListXMLReport( tagListXMLReport, "report", serializer );
94          serializer.endDocument();
95      } //-- void write( OutputStream, TagListXMLReport )
96  
97      /**
98       * Method writeTagListXMLComment.
99       * 
100      * @param tagListXMLComment
101      * @param serializer
102      * @param tagName
103      * @throws java.io.IOException
104      */
105     private void writeTagListXMLComment( TagListXMLComment tagListXMLComment, String tagName, XmlSerializer serializer )
106         throws java.io.IOException
107     {
108         serializer.startTag( NAMESPACE, tagName );
109         if ( tagListXMLComment.getLineNumber() != null )
110         {
111             serializer.startTag( NAMESPACE, "lineNumber" ).text( tagListXMLComment.getLineNumber() ).endTag( NAMESPACE, "lineNumber" );
112         }
113         if ( tagListXMLComment.getComment() != null )
114         {
115             serializer.startTag( NAMESPACE, "comment" ).text( tagListXMLComment.getComment() ).endTag( NAMESPACE, "comment" );
116         }
117         serializer.endTag( NAMESPACE, tagName );
118     } //-- void writeTagListXMLComment( TagListXMLComment, String, XmlSerializer )
119 
120     /**
121      * Method writeTagListXMLFile.
122      * 
123      * @param tagListXMLFile
124      * @param serializer
125      * @param tagName
126      * @throws java.io.IOException
127      */
128     private void writeTagListXMLFile( TagListXMLFile tagListXMLFile, String tagName, XmlSerializer serializer )
129         throws java.io.IOException
130     {
131         serializer.startTag( NAMESPACE, tagName );
132         if ( tagListXMLFile.getName() != null )
133         {
134             serializer.attribute( NAMESPACE, "name", tagListXMLFile.getName() );
135         }
136         if ( tagListXMLFile.getCount() != null )
137         {
138             serializer.attribute( NAMESPACE, "count", tagListXMLFile.getCount() );
139         }
140         if ( ( tagListXMLFile.getComments() != null ) && ( tagListXMLFile.getComments().size() > 0 ) )
141         {
142             serializer.startTag( NAMESPACE, "comments" );
143             for ( Iterator iter = tagListXMLFile.getComments().iterator(); iter.hasNext(); )
144             {
145                 TagListXMLComment o = (TagListXMLComment) iter.next();
146                 writeTagListXMLComment( o, "comment", serializer );
147             }
148             serializer.endTag( NAMESPACE, "comments" );
149         }
150         serializer.endTag( NAMESPACE, tagName );
151     } //-- void writeTagListXMLFile( TagListXMLFile, String, XmlSerializer )
152 
153     /**
154      * Method writeTagListXMLReport.
155      * 
156      * @param tagListXMLReport
157      * @param serializer
158      * @param tagName
159      * @throws java.io.IOException
160      */
161     private void writeTagListXMLReport( TagListXMLReport tagListXMLReport, String tagName, XmlSerializer serializer )
162         throws java.io.IOException
163     {
164         if ( this.fileComment != null )
165         {
166         serializer.comment(this.fileComment);
167         }
168         serializer.setPrefix( "", "org.codehaus.mojo.taglist-maven-plugin" );
169         serializer.startTag( NAMESPACE, tagName );
170         if ( ( tagListXMLReport.getTags() != null ) && ( tagListXMLReport.getTags().size() > 0 ) )
171         {
172             serializer.startTag( NAMESPACE, "tags" );
173             for ( Iterator iter = tagListXMLReport.getTags().iterator(); iter.hasNext(); )
174             {
175                 TagListXMLTag o = (TagListXMLTag) iter.next();
176                 writeTagListXMLTag( o, "tag", serializer );
177             }
178             serializer.endTag( NAMESPACE, "tags" );
179         }
180         serializer.endTag( NAMESPACE, tagName );
181     } //-- void writeTagListXMLReport( TagListXMLReport, String, XmlSerializer )
182 
183     /**
184      * Method writeTagListXMLTag.
185      * 
186      * @param tagListXMLTag
187      * @param serializer
188      * @param tagName
189      * @throws java.io.IOException
190      */
191     private void writeTagListXMLTag( TagListXMLTag tagListXMLTag, String tagName, XmlSerializer serializer )
192         throws java.io.IOException
193     {
194         serializer.startTag( NAMESPACE, tagName );
195         if ( tagListXMLTag.getName() != null )
196         {
197             serializer.attribute( NAMESPACE, "name", tagListXMLTag.getName() );
198         }
199         if ( tagListXMLTag.getCount() != null )
200         {
201             serializer.attribute( NAMESPACE, "count", tagListXMLTag.getCount() );
202         }
203         if ( ( tagListXMLTag.getFiles() != null ) && ( tagListXMLTag.getFiles().size() > 0 ) )
204         {
205             serializer.startTag( NAMESPACE, "files" );
206             for ( Iterator iter = tagListXMLTag.getFiles().iterator(); iter.hasNext(); )
207             {
208                 TagListXMLFile o = (TagListXMLFile) iter.next();
209                 writeTagListXMLFile( o, "file", serializer );
210             }
211             serializer.endTag( NAMESPACE, "files" );
212         }
213         serializer.endTag( NAMESPACE, tagName );
214     } //-- void writeTagListXMLTag( TagListXMLTag, String, XmlSerializer )
215 
216 }