001// =================== DO NOT EDIT THIS FILE ====================
002// Generated by Modello 1.8.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      //-----------/
039     //- Methods -/
040    //-----------/
041
042    /**
043     * Method write.
044     * 
045     * @param writer
046     * @param localScmMetadata
047     * @throws java.io.IOException
048     */
049    public void write( Writer writer, LocalScmMetadata localScmMetadata )
050        throws java.io.IOException
051    {
052        XmlSerializer serializer = new MXSerializer();
053        serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
054        serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
055        serializer.setOutput( writer );
056        serializer.startDocument( localScmMetadata.getModelEncoding(), null );
057        writeLocalScmMetadata( localScmMetadata, "localScmMetadata", serializer );
058        serializer.endDocument();
059    } //-- void write( Writer, LocalScmMetadata )
060
061    /**
062     * Method write.
063     * 
064     * @param stream
065     * @param localScmMetadata
066     * @throws java.io.IOException
067     */
068    public void write( OutputStream stream, LocalScmMetadata localScmMetadata )
069        throws java.io.IOException
070    {
071        XmlSerializer serializer = new MXSerializer();
072        serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
073        serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
074        serializer.setOutput( stream, localScmMetadata.getModelEncoding() );
075        serializer.startDocument( localScmMetadata.getModelEncoding(), null );
076        writeLocalScmMetadata( localScmMetadata, "localScmMetadata", serializer );
077        serializer.endDocument();
078    } //-- void write( OutputStream, LocalScmMetadata )
079
080    /**
081     * Method writeLocalScmMetadata.
082     * 
083     * @param localScmMetadata
084     * @param serializer
085     * @param tagName
086     * @throws java.io.IOException
087     */
088    private void writeLocalScmMetadata( LocalScmMetadata localScmMetadata, String tagName, XmlSerializer serializer )
089        throws java.io.IOException
090    {
091        serializer.setPrefix( "", "http://maven.apache.org/SCM/LOCAL/1.0.0" );
092        serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
093        serializer.startTag( NAMESPACE, tagName );
094        serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/SCM/LOCAL/1.0.0 http://maven.apache.org/xsd/scm-local-1.0.0.xsd" );
095        if ( ( localScmMetadata.getRepositoryFileNames() != null ) && ( localScmMetadata.getRepositoryFileNames().size() > 0 ) )
096        {
097            serializer.startTag( NAMESPACE, "repositoryFileNames" );
098            for ( Iterator iter = localScmMetadata.getRepositoryFileNames().iterator(); iter.hasNext(); )
099            {
100                String repositoryFileName = (String) iter.next();
101                serializer.startTag( NAMESPACE, "repositoryFileName" ).text( repositoryFileName ).endTag( NAMESPACE, "repositoryFileName" );
102            }
103            serializer.endTag( NAMESPACE, "repositoryFileNames" );
104        }
105        serializer.endTag( NAMESPACE, tagName );
106    } //-- void writeLocalScmMetadata( LocalScmMetadata, String, XmlSerializer )
107
108}