001// =================== DO NOT EDIT THIS FILE ====================
002// Generated by Modello 1.8.2,
003// any modifications will be overwritten.
004// ==============================================================
005
006package org.apache.maven.scm.providers.clearcase.settings.io.xpp3;
007
008  //---------------------------------/
009 //- Imported classes and packages -/
010//---------------------------------/
011
012import java.io.OutputStream;
013import java.io.Writer;
014import java.util.Iterator;
015import org.apache.maven.scm.providers.clearcase.settings.Settings;
016import org.codehaus.plexus.util.xml.pull.MXSerializer;
017import org.codehaus.plexus.util.xml.pull.XmlSerializer;
018
019/**
020 * Class ClearcaseXpp3Writer.
021 * 
022 * @version $Revision$ $Date$
023 */
024@SuppressWarnings( "all" )
025public class ClearcaseXpp3Writer
026{
027
028      //--------------------------/
029     //- Class/Member Variables -/
030    //--------------------------/
031
032    /**
033     * Field NAMESPACE.
034     */
035    private static final String NAMESPACE = null;
036
037
038      //-----------/
039     //- Methods -/
040    //-----------/
041
042    /**
043     * Method write.
044     * 
045     * @param writer
046     * @param settings
047     * @throws java.io.IOException
048     */
049    public void write( Writer writer, Settings settings )
050        throws java.io.IOException
051    {
052        XmlSerializer serializer = new MXSerializer();
053        serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
054        serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
055        serializer.setOutput( writer );
056        serializer.startDocument( settings.getModelEncoding(), null );
057        writeSettings( settings, "clearcase-settings", serializer );
058        serializer.endDocument();
059    } //-- void write( Writer, Settings )
060
061    /**
062     * Method write.
063     * 
064     * @param stream
065     * @param settings
066     * @throws java.io.IOException
067     */
068    public void write( OutputStream stream, Settings settings )
069        throws java.io.IOException
070    {
071        XmlSerializer serializer = new MXSerializer();
072        serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
073        serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
074        serializer.setOutput( stream, settings.getModelEncoding() );
075        serializer.startDocument( settings.getModelEncoding(), null );
076        writeSettings( settings, "clearcase-settings", serializer );
077        serializer.endDocument();
078    } //-- void write( OutputStream, Settings )
079
080    /**
081     * Method writeSettings.
082     * 
083     * @param settings
084     * @param serializer
085     * @param tagName
086     * @throws java.io.IOException
087     */
088    private void writeSettings( Settings settings, String tagName, XmlSerializer serializer )
089        throws java.io.IOException
090    {
091        serializer.setPrefix( "", "http://maven.apache.org/SCM/CLEARCASE/1.1.0" );
092        serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
093        serializer.startTag( NAMESPACE, tagName );
094        serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/SCM/CLEARCASE/1.1.0 http://maven.apache.org/xsd/scm-clearcase-1.1.0.xsd" );
095        if ( settings.getViewstore() != null )
096        {
097            serializer.startTag( NAMESPACE, "viewstore" ).text( settings.getViewstore() ).endTag( NAMESPACE, "viewstore" );
098        }
099        if ( settings.isUseVWSParameter() != true )
100        {
101            serializer.startTag( NAMESPACE, "useVWSParameter" ).text( String.valueOf( settings.isUseVWSParameter() ) ).endTag( NAMESPACE, "useVWSParameter" );
102        }
103        if ( settings.getClearcaseType() != null )
104        {
105            serializer.startTag( NAMESPACE, "clearcaseType" ).text( settings.getClearcaseType() ).endTag( NAMESPACE, "clearcaseType" );
106        }
107        if ( settings.getChangelogUserFormat() != null )
108        {
109            serializer.startTag( NAMESPACE, "changelogUserFormat" ).text( settings.getChangelogUserFormat() ).endTag( NAMESPACE, "changelogUserFormat" );
110        }
111        serializer.endTag( NAMESPACE, tagName );
112    } //-- void writeSettings( Settings, String, XmlSerializer )
113
114}