001// =================== DO NOT EDIT THIS FILE ====================
002// Generated by Modello 1.9.1,
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     * Field fileComment.
039     */
040    private String fileComment = null;
041
042
043      //-----------/
044     //- Methods -/
045    //-----------/
046
047    /**
048     * Method setFileComment.
049     * 
050     * @param fileComment
051     */
052    public void setFileComment( String fileComment )
053    {
054        this.fileComment = fileComment;
055    } //-- void setFileComment( String )
056
057    /**
058     * Method write.
059     * 
060     * @param writer
061     * @param settings
062     * @throws java.io.IOException
063     */
064    public void write( Writer writer, Settings settings )
065        throws java.io.IOException
066    {
067        XmlSerializer serializer = new MXSerializer();
068        serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
069        serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
070        serializer.setOutput( writer );
071        serializer.startDocument( settings.getModelEncoding(), null );
072        writeSettings( settings, "clearcase-settings", serializer );
073        serializer.endDocument();
074    } //-- void write( Writer, Settings )
075
076    /**
077     * Method write.
078     * 
079     * @param stream
080     * @param settings
081     * @throws java.io.IOException
082     */
083    public void write( OutputStream stream, Settings settings )
084        throws java.io.IOException
085    {
086        XmlSerializer serializer = new MXSerializer();
087        serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
088        serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
089        serializer.setOutput( stream, settings.getModelEncoding() );
090        serializer.startDocument( settings.getModelEncoding(), null );
091        writeSettings( settings, "clearcase-settings", serializer );
092        serializer.endDocument();
093    } //-- void write( OutputStream, Settings )
094
095    /**
096     * Method writeSettings.
097     * 
098     * @param settings
099     * @param serializer
100     * @param tagName
101     * @throws java.io.IOException
102     */
103    private void writeSettings( Settings settings, String tagName, XmlSerializer serializer )
104        throws java.io.IOException
105    {
106        if ( this.fileComment != null )
107        {
108        serializer.comment(this.fileComment);
109        }
110        serializer.setPrefix( "", "http://maven.apache.org/SCM/CLEARCASE/1.1.0" );
111        serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
112        serializer.startTag( NAMESPACE, tagName );
113        serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/SCM/CLEARCASE/1.1.0 http://maven.apache.org/xsd/scm-clearcase-1.1.0.xsd" );
114        if ( settings.getViewstore() != null )
115        {
116            serializer.startTag( NAMESPACE, "viewstore" ).text( settings.getViewstore() ).endTag( NAMESPACE, "viewstore" );
117        }
118        if ( settings.isUseVWSParameter() != true )
119        {
120            serializer.startTag( NAMESPACE, "useVWSParameter" ).text( String.valueOf( settings.isUseVWSParameter() ) ).endTag( NAMESPACE, "useVWSParameter" );
121        }
122        if ( settings.getClearcaseType() != null )
123        {
124            serializer.startTag( NAMESPACE, "clearcaseType" ).text( settings.getClearcaseType() ).endTag( NAMESPACE, "clearcaseType" );
125        }
126        if ( settings.getChangelogUserFormat() != null )
127        {
128            serializer.startTag( NAMESPACE, "changelogUserFormat" ).text( settings.getChangelogUserFormat() ).endTag( NAMESPACE, "changelogUserFormat" );
129        }
130        serializer.endTag( NAMESPACE, tagName );
131    } //-- void writeSettings( Settings, String, XmlSerializer )
132
133}