001 // =================== DO NOT EDIT THIS FILE ====================
002 // Generated by Modello 1.7,
003 // any modifications will be overwritten.
004 // ==============================================================
005
006 package org.apache.maven.usability.plugin.io.xpp3;
007
008 //---------------------------------/
009 //- Imported classes and packages -/
010 //---------------------------------/
011
012 import java.io.OutputStream;
013 import java.io.Writer;
014 import java.util.Iterator;
015 import org.apache.maven.usability.plugin.Expression;
016 import org.apache.maven.usability.plugin.ExpressionDocumentation;
017 import org.codehaus.plexus.util.xml.pull.MXSerializer;
018 import org.codehaus.plexus.util.xml.pull.XmlSerializer;
019
020 /**
021 * Class ParamdocXpp3Writer.
022 *
023 * @version $Revision$ $Date$
024 */
025 @SuppressWarnings( "all" )
026 public class ParamdocXpp3Writer
027 {
028
029 //--------------------------/
030 //- Class/Member Variables -/
031 //--------------------------/
032
033 /**
034 * Field NAMESPACE.
035 */
036 private static final String NAMESPACE = null;
037
038
039 //-----------/
040 //- Methods -/
041 //-----------/
042
043 /**
044 * Method write.
045 *
046 * @param writer
047 * @param expressionDocumentation
048 * @throws java.io.IOException
049 */
050 public void write( Writer writer, ExpressionDocumentation expressionDocumentation )
051 throws java.io.IOException
052 {
053 XmlSerializer serializer = new MXSerializer();
054 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
055 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
056 serializer.setOutput( writer );
057 serializer.startDocument( expressionDocumentation.getModelEncoding(), null );
058 writeExpressionDocumentation( expressionDocumentation, "paramdoc", serializer );
059 serializer.endDocument();
060 } //-- void write( Writer, ExpressionDocumentation )
061
062 /**
063 * Method write.
064 *
065 * @param stream
066 * @param expressionDocumentation
067 * @throws java.io.IOException
068 */
069 public void write( OutputStream stream, ExpressionDocumentation expressionDocumentation )
070 throws java.io.IOException
071 {
072 XmlSerializer serializer = new MXSerializer();
073 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
074 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
075 serializer.setOutput( stream, expressionDocumentation.getModelEncoding() );
076 serializer.startDocument( expressionDocumentation.getModelEncoding(), null );
077 writeExpressionDocumentation( expressionDocumentation, "paramdoc", serializer );
078 serializer.endDocument();
079 } //-- void write( OutputStream, ExpressionDocumentation )
080
081 /**
082 * Method writeExpression.
083 *
084 * @param expression
085 * @param serializer
086 * @param tagName
087 * @throws java.io.IOException
088 */
089 private void writeExpression( Expression expression, String tagName, XmlSerializer serializer )
090 throws java.io.IOException
091 {
092 serializer.startTag( NAMESPACE, tagName );
093 if ( expression.getSyntax() != null )
094 {
095 serializer.startTag( NAMESPACE, "syntax" ).text( expression.getSyntax() ).endTag( NAMESPACE, "syntax" );
096 }
097 if ( expression.getDescription() != null )
098 {
099 serializer.startTag( NAMESPACE, "description" ).text( expression.getDescription() ).endTag( NAMESPACE, "description" );
100 }
101 if ( expression.getConfiguration() != null )
102 {
103 serializer.startTag( NAMESPACE, "configuration" ).text( expression.getConfiguration() ).endTag( NAMESPACE, "configuration" );
104 }
105 if ( ( expression.getCliOptions() != null ) && ( expression.getCliOptions().size() > 0 ) )
106 {
107 serializer.startTag( NAMESPACE, "cliOptions" );
108 for ( Iterator iter = expression.getCliOptions().keySet().iterator(); iter.hasNext(); )
109 {
110 String key = (String) iter.next();
111 String value = (String) expression.getCliOptions().get( key );
112 serializer.startTag( NAMESPACE, "cliOption" );
113 serializer.startTag( NAMESPACE, "key" ).text( key ).endTag( NAMESPACE, "key" );
114 serializer.startTag( NAMESPACE, "value" ).text( value ).endTag( NAMESPACE, "value" );
115 serializer.endTag( NAMESPACE, "cliOption" );
116 }
117 serializer.endTag( NAMESPACE, "cliOptions" );
118 }
119 if ( ( expression.getApiMethods() != null ) && ( expression.getApiMethods().size() > 0 ) )
120 {
121 serializer.startTag( NAMESPACE, "apiMethods" );
122 for ( Iterator iter = expression.getApiMethods().keySet().iterator(); iter.hasNext(); )
123 {
124 String key = (String) iter.next();
125 String value = (String) expression.getApiMethods().get( key );
126 serializer.startTag( NAMESPACE, "apiMethod" );
127 serializer.startTag( NAMESPACE, "key" ).text( key ).endTag( NAMESPACE, "key" );
128 serializer.startTag( NAMESPACE, "value" ).text( value ).endTag( NAMESPACE, "value" );
129 serializer.endTag( NAMESPACE, "apiMethod" );
130 }
131 serializer.endTag( NAMESPACE, "apiMethods" );
132 }
133 if ( expression.getDeprecation() != null )
134 {
135 serializer.startTag( NAMESPACE, "deprecation" ).text( expression.getDeprecation() ).endTag( NAMESPACE, "deprecation" );
136 }
137 if ( expression.getBan() != null )
138 {
139 serializer.startTag( NAMESPACE, "ban" ).text( expression.getBan() ).endTag( NAMESPACE, "ban" );
140 }
141 if ( expression.isEditable() != true )
142 {
143 serializer.startTag( NAMESPACE, "editable" ).text( String.valueOf( expression.isEditable() ) ).endTag( NAMESPACE, "editable" );
144 }
145 serializer.endTag( NAMESPACE, tagName );
146 } //-- void writeExpression( Expression, String, XmlSerializer )
147
148 /**
149 * Method writeExpressionDocumentation.
150 *
151 * @param expressionDocumentation
152 * @param serializer
153 * @param tagName
154 * @throws java.io.IOException
155 */
156 private void writeExpressionDocumentation( ExpressionDocumentation expressionDocumentation, String tagName, XmlSerializer serializer )
157 throws java.io.IOException
158 {
159 serializer.setPrefix( "", "http://maven.apache.org/PARAMDOC/1.0.0" );
160 serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
161 serializer.startTag( NAMESPACE, tagName );
162 serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/PARAMDOC/1.0.0 http://maven.apache.org/xsd/paramdoc-1.0.0.xsd" );
163 if ( ( expressionDocumentation.getExpressions() != null ) && ( expressionDocumentation.getExpressions().size() > 0 ) )
164 {
165 serializer.startTag( NAMESPACE, "expressions" );
166 for ( Iterator iter = expressionDocumentation.getExpressions().iterator(); iter.hasNext(); )
167 {
168 Expression o = (Expression) iter.next();
169 writeExpression( o, "expression", serializer );
170 }
171 serializer.endTag( NAMESPACE, "expressions" );
172 }
173 serializer.endTag( NAMESPACE, tagName );
174 } //-- void writeExpressionDocumentation( ExpressionDocumentation, String, XmlSerializer )
175
176 }