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.provider.local.metadata.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.provider.local.metadata.LocalScmMetadata;
016import org.codehaus.plexus.util.xml.pull.MXSerializer;
017import org.codehaus.plexus.util.xml.pull.XmlSerializer;
018
019/**
020 * Class LocalScmMetadataXpp3Writer.
021 * 
022 * @version $Revision$ $Date$
023 */
024@SuppressWarnings( "all" )
025public class LocalScmMetadataXpp3Writer
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 localScmMetadata a localScmMetadata object.
062     * @throws java.io.IOException java.io.IOException if any.
063     */
064    public void write( Writer writer, LocalScmMetadata localScmMetadata )
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( localScmMetadata.getModelEncoding(), null );
072        writeLocalScmMetadata( localScmMetadata, "localScmMetadata", serializer );
073        serializer.endDocument();
074    } //-- void write( Writer, LocalScmMetadata )
075
076    /**
077     * Method write.
078     * 
079     * @param stream a stream object.
080     * @param localScmMetadata a localScmMetadata object.
081     * @throws java.io.IOException java.io.IOException if any.
082     */
083    public void write( OutputStream stream, LocalScmMetadata localScmMetadata )
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, localScmMetadata.getModelEncoding() );
090        serializer.startDocument( localScmMetadata.getModelEncoding(), null );
091        writeLocalScmMetadata( localScmMetadata, "localScmMetadata", serializer );
092        serializer.endDocument();
093    } //-- void write( OutputStream, LocalScmMetadata )
094
095    /**
096     * Method writeLocalScmMetadata.
097     * 
098     * @param localScmMetadata a localScmMetadata 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 writeLocalScmMetadata( LocalScmMetadata localScmMetadata, 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/LOCAL/1.0.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/LOCAL/1.0.0 http://maven.apache.org/xsd/scm-local-1.0.0.xsd" );
114        if ( ( localScmMetadata.getRepositoryFileNames() != null ) && ( localScmMetadata.getRepositoryFileNames().size() > 0 ) )
115        {
116            serializer.startTag( NAMESPACE, "repositoryFileNames" );
117            for ( Iterator iter = localScmMetadata.getRepositoryFileNames().iterator(); iter.hasNext(); )
118            {
119                String repositoryFileName = (String) iter.next();
120                serializer.startTag( NAMESPACE, "repositoryFileName" ).text( repositoryFileName ).endTag( NAMESPACE, "repositoryFileName" );
121            }
122            serializer.endTag( NAMESPACE, "repositoryFileNames" );
123        }
124        serializer.endTag( NAMESPACE, tagName );
125    } //-- void writeLocalScmMetadata( LocalScmMetadata, String, XmlSerializer )
126
127}