001// =================== DO NOT EDIT THIS FILE ====================
002// Generated by Modello 2.1.2,
003// any modifications will be overwritten.
004// ==============================================================
005
006package org.apache.maven.scm.providers.gitlib.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.gitlib.settings.Settings;
016import org.codehaus.plexus.util.xml.pull.MXSerializer;
017import org.codehaus.plexus.util.xml.pull.XmlSerializer;
018
019/**
020 * Class GitXpp3Writer.
021 * 
022 * @version $Revision$ $Date$
023 */
024@SuppressWarnings( "all" )
025public class GitXpp3Writer
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 a fileComment object.
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 a writer object.
061     * @param settings a settings object.
062     * @throws java.io.IOException java.io.IOException if any.
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, "git-settings", serializer );
073        serializer.endDocument();
074    } //-- void write( Writer, Settings )
075
076    /**
077     * Method write.
078     * 
079     * @param stream a stream object.
080     * @param settings a settings object.
081     * @throws java.io.IOException java.io.IOException if any.
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, "git-settings", serializer );
092        serializer.endDocument();
093    } //-- void write( OutputStream, Settings )
094
095    /**
096     * Method writeSettings.
097     * 
098     * @param settings a settings object.
099     * @param serializer a serializer object.
100     * @param tagName a tagName object.
101     * @throws java.io.IOException java.io.IOException if any.
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/GIT/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/GIT/1.1.0 http://maven.apache.org/xsd/scm-git-1.1.0.xsd" );
114        if ( ( settings.getRevParseDateFormat() != null ) && !settings.getRevParseDateFormat().equals( "yyyy-MM-dd HH:mm:ss" ) )
115        {
116            serializer.startTag( NAMESPACE, "revParseDateFormat" ).text( settings.getRevParseDateFormat() ).endTag( NAMESPACE, "revParseDateFormat" );
117        }
118        if ( ( settings.getTraceGitCommand() != null ) && !settings.getTraceGitCommand().equals( "" ) )
119        {
120            serializer.startTag( NAMESPACE, "traceGitCommand" ).text( settings.getTraceGitCommand() ).endTag( NAMESPACE, "traceGitCommand" );
121        }
122        if ( ( settings.getGitCommand() != null ) && !settings.getGitCommand().equals( "git" ) )
123        {
124            serializer.startTag( NAMESPACE, "gitCommand" ).text( settings.getGitCommand() ).endTag( NAMESPACE, "gitCommand" );
125        }
126        if ( settings.isCommitNoVerify() != false )
127        {
128            serializer.startTag( NAMESPACE, "commitNoVerify" ).text( String.valueOf( settings.isCommitNoVerify() ) ).endTag( NAMESPACE, "commitNoVerify" );
129        }
130        serializer.endTag( NAMESPACE, tagName );
131    } //-- void writeSettings( Settings, String, XmlSerializer )
132
133}