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