001 /*
002 * $Id$
003 */
004
005 package org.apache.maven.scm.providers.vss.settings.io.xpp3;
006
007 //---------------------------------/
008 //- Imported classes and packages -/
009 //---------------------------------/
010
011 import java.io.Writer;
012 import java.text.DateFormat;
013 import java.util.Iterator;
014 import java.util.Locale;
015 import org.apache.maven.scm.providers.vss.settings.Settings;
016 import org.codehaus.plexus.util.xml.pull.MXSerializer;
017 import org.codehaus.plexus.util.xml.pull.XmlSerializer;
018
019 /**
020 * Class VssXpp3Writer.
021 *
022 * @version $Revision$ $Date$
023 */
024 public class VssXpp3Writer {
025
026
027 //--------------------------/
028 //- Class/Member Variables -/
029 //--------------------------/
030
031 /**
032 * Field NAMESPACE.
033 */
034 private String NAMESPACE;
035
036
037 //-----------/
038 //- Methods -/
039 //-----------/
040
041 /**
042 * Method write.
043 *
044 * @param writer
045 * @param settings
046 * @throws java.io.IOException
047 */
048 public void write(Writer writer, Settings settings)
049 throws java.io.IOException
050 {
051 XmlSerializer serializer = new MXSerializer();
052 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
053 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
054 serializer.setOutput( writer );
055 serializer.startDocument( settings.getModelEncoding(), null );
056 writeSettings( settings, "vss-settings", serializer );
057 serializer.endDocument();
058 } //-- void write(Writer, Settings)
059
060 /**
061 * Method writeSettings.
062 *
063 * @param settings
064 * @param serializer
065 * @param tagName
066 * @throws java.io.IOException
067 */
068 private void writeSettings(Settings settings, String tagName, XmlSerializer serializer)
069 throws java.io.IOException
070 {
071 if ( settings != null )
072 {
073 serializer.startTag( NAMESPACE, tagName );
074 if ( settings.getVssDirectory() != null )
075 {
076 serializer.startTag( NAMESPACE, "vssDirectory" ).text( settings.getVssDirectory() ).endTag( NAMESPACE, "vssDirectory" );
077 }
078 serializer.endTag( NAMESPACE, tagName );
079 }
080 } //-- void writeSettings(Settings, String, XmlSerializer)
081
082
083 }