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 }