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