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.apache.maven.usability.plugin.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.usability.plugin.Expression;
16  import org.apache.maven.usability.plugin.ExpressionDocumentation;
17  import org.codehaus.plexus.util.xml.pull.MXSerializer;
18  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
19  
20  /**
21   * Class ParamdocXpp3Writer.
22   * 
23   * @version $Revision$ $Date$
24   */
25  @SuppressWarnings( "all" )
26  public class ParamdocXpp3Writer
27  {
28  
29        //--------------------------/
30       //- Class/Member Variables -/
31      //--------------------------/
32  
33      /**
34       * Field NAMESPACE.
35       */
36      private static final String NAMESPACE = null;
37  
38      /**
39       * Field fileComment.
40       */
41      private String fileComment = null;
42  
43  
44        //-----------/
45       //- Methods -/
46      //-----------/
47  
48      /**
49       * Method setFileComment.
50       * 
51       * @param fileComment
52       */
53      public void setFileComment( String fileComment )
54      {
55          this.fileComment = fileComment;
56      } //-- void setFileComment( String )
57  
58      /**
59       * Method write.
60       * 
61       * @param writer
62       * @param expressionDocumentation
63       * @throws java.io.IOException
64       */
65      public void write( Writer writer, ExpressionDocumentation expressionDocumentation )
66          throws java.io.IOException
67      {
68          XmlSerializer serializer = new MXSerializer();
69          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
70          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
71          serializer.setOutput( writer );
72          serializer.startDocument( expressionDocumentation.getModelEncoding(), null );
73          writeExpressionDocumentation( expressionDocumentation, "paramdoc", serializer );
74          serializer.endDocument();
75      } //-- void write( Writer, ExpressionDocumentation )
76  
77      /**
78       * Method write.
79       * 
80       * @param stream
81       * @param expressionDocumentation
82       * @throws java.io.IOException
83       */
84      public void write( OutputStream stream, ExpressionDocumentation expressionDocumentation )
85          throws java.io.IOException
86      {
87          XmlSerializer serializer = new MXSerializer();
88          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
89          serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
90          serializer.setOutput( stream, expressionDocumentation.getModelEncoding() );
91          serializer.startDocument( expressionDocumentation.getModelEncoding(), null );
92          writeExpressionDocumentation( expressionDocumentation, "paramdoc", serializer );
93          serializer.endDocument();
94      } //-- void write( OutputStream, ExpressionDocumentation )
95  
96      /**
97       * Method writeExpression.
98       * 
99       * @param expression
100      * @param serializer
101      * @param tagName
102      * @throws java.io.IOException
103      */
104     private void writeExpression( Expression expression, String tagName, XmlSerializer serializer )
105         throws java.io.IOException
106     {
107         serializer.startTag( NAMESPACE, tagName );
108         if ( expression.getSyntax() != null )
109         {
110             serializer.startTag( NAMESPACE, "syntax" ).text( expression.getSyntax() ).endTag( NAMESPACE, "syntax" );
111         }
112         if ( expression.getDescription() != null )
113         {
114             serializer.startTag( NAMESPACE, "description" ).text( expression.getDescription() ).endTag( NAMESPACE, "description" );
115         }
116         if ( expression.getConfiguration() != null )
117         {
118             serializer.startTag( NAMESPACE, "configuration" ).text( expression.getConfiguration() ).endTag( NAMESPACE, "configuration" );
119         }
120         if ( ( expression.getCliOptions() != null ) && ( expression.getCliOptions().size() > 0 ) )
121         {
122             serializer.startTag( NAMESPACE, "cliOptions" );
123             for ( Iterator iter = expression.getCliOptions().keySet().iterator(); iter.hasNext(); )
124             {
125                 String key = (String) iter.next();
126                 String value = (String) expression.getCliOptions().get( key );
127                 serializer.startTag( NAMESPACE, "cliOption" );
128                 serializer.startTag( NAMESPACE, "key" ).text( key ).endTag( NAMESPACE, "key" );
129                 serializer.startTag( NAMESPACE, "value" ).text( value ).endTag( NAMESPACE, "value" );
130                 serializer.endTag( NAMESPACE, "cliOption" );
131             }
132             serializer.endTag( NAMESPACE, "cliOptions" );
133         }
134         if ( ( expression.getApiMethods() != null ) && ( expression.getApiMethods().size() > 0 ) )
135         {
136             serializer.startTag( NAMESPACE, "apiMethods" );
137             for ( Iterator iter = expression.getApiMethods().keySet().iterator(); iter.hasNext(); )
138             {
139                 String key = (String) iter.next();
140                 String value = (String) expression.getApiMethods().get( key );
141                 serializer.startTag( NAMESPACE, "apiMethod" );
142                 serializer.startTag( NAMESPACE, "key" ).text( key ).endTag( NAMESPACE, "key" );
143                 serializer.startTag( NAMESPACE, "value" ).text( value ).endTag( NAMESPACE, "value" );
144                 serializer.endTag( NAMESPACE, "apiMethod" );
145             }
146             serializer.endTag( NAMESPACE, "apiMethods" );
147         }
148         if ( expression.getDeprecation() != null )
149         {
150             serializer.startTag( NAMESPACE, "deprecation" ).text( expression.getDeprecation() ).endTag( NAMESPACE, "deprecation" );
151         }
152         if ( expression.getBan() != null )
153         {
154             serializer.startTag( NAMESPACE, "ban" ).text( expression.getBan() ).endTag( NAMESPACE, "ban" );
155         }
156         if ( expression.isEditable() != true )
157         {
158             serializer.startTag( NAMESPACE, "editable" ).text( String.valueOf( expression.isEditable() ) ).endTag( NAMESPACE, "editable" );
159         }
160         serializer.endTag( NAMESPACE, tagName );
161     } //-- void writeExpression( Expression, String, XmlSerializer )
162 
163     /**
164      * Method writeExpressionDocumentation.
165      * 
166      * @param expressionDocumentation
167      * @param serializer
168      * @param tagName
169      * @throws java.io.IOException
170      */
171     private void writeExpressionDocumentation( ExpressionDocumentation expressionDocumentation, String tagName, XmlSerializer serializer )
172         throws java.io.IOException
173     {
174         if ( this.fileComment != null )
175         {
176         serializer.comment(this.fileComment);
177         }
178         serializer.setPrefix( "", "http://maven.apache.org/PARAMDOC/1.0.0" );
179         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
180         serializer.startTag( NAMESPACE, tagName );
181         serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/PARAMDOC/1.0.0 http://maven.apache.org/xsd/paramdoc-1.0.0.xsd" );
182         if ( ( expressionDocumentation.getExpressions() != null ) && ( expressionDocumentation.getExpressions().size() > 0 ) )
183         {
184             serializer.startTag( NAMESPACE, "expressions" );
185             for ( Iterator iter = expressionDocumentation.getExpressions().iterator(); iter.hasNext(); )
186             {
187                 Expression o = (Expression) iter.next();
188                 writeExpression( o, "expression", serializer );
189             }
190             serializer.endTag( NAMESPACE, "expressions" );
191         }
192         serializer.endTag( NAMESPACE, tagName );
193     } //-- void writeExpressionDocumentation( ExpressionDocumentation, String, XmlSerializer )
194 
195 }