001    /*
002     =================== DO NOT EDIT THIS FILE ====================
003     Generated by Modello 1.1 on 2012-09-08 17:43:59,
004     any modifications will be overwritten.
005     ==============================================================
006     */
007    
008    package org.apache.maven.scm.provider.local.metadata.io.xpp3;
009    
010      //---------------------------------/
011     //- Imported classes and packages -/
012    //---------------------------------/
013    
014    import java.io.Writer;
015    import java.text.DateFormat;
016    import java.util.Iterator;
017    import java.util.Locale;
018    import org.apache.maven.scm.provider.local.metadata.LocalScmMetadata;
019    import org.codehaus.plexus.util.xml.pull.MXSerializer;
020    import org.codehaus.plexus.util.xml.pull.XmlSerializer;
021    
022    /**
023     * Class LocalScmMetadataXpp3Writer.
024     * 
025     * @version $Revision$ $Date$
026     */
027    @SuppressWarnings( "all" )
028    public class LocalScmMetadataXpp3Writer
029    {
030    
031          //--------------------------/
032         //- Class/Member Variables -/
033        //--------------------------/
034    
035        /**
036         * Field NAMESPACE.
037         */
038        private static final String NAMESPACE = null;
039    
040    
041          //-----------/
042         //- Methods -/
043        //-----------/
044    
045        /**
046         * Method write.
047         * 
048         * @param writer
049         * @param localScmMetadata
050         * @throws java.io.IOException
051         */
052        public void write( Writer writer, LocalScmMetadata localScmMetadata )
053            throws java.io.IOException
054        {
055            XmlSerializer serializer = new MXSerializer();
056            serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
057            serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
058            serializer.setOutput( writer );
059            serializer.startDocument( localScmMetadata.getModelEncoding(), null );
060            writeLocalScmMetadata( localScmMetadata, "localScmMetadata", serializer );
061            serializer.endDocument();
062        } //-- void write( Writer, LocalScmMetadata )
063    
064        /**
065         * Method writeLocalScmMetadata.
066         * 
067         * @param localScmMetadata
068         * @param serializer
069         * @param tagName
070         * @throws java.io.IOException
071         */
072        private void writeLocalScmMetadata( LocalScmMetadata localScmMetadata, String tagName, XmlSerializer serializer )
073            throws java.io.IOException
074        {
075            if ( localScmMetadata != null )
076            {
077                serializer.setPrefix( "", "http://maven.apache.org/SCM/LOCAL/1.0.0" );
078                serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
079                serializer.startTag( NAMESPACE, tagName );
080                serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/SCM/LOCAL/1.0.0 http://maven.apache.org/xsd/scm-local-1.0.0.xsd" );
081                if ( ( localScmMetadata.getRepositoryFileNames() != null ) && ( localScmMetadata.getRepositoryFileNames().size() > 0 ) )
082                {
083                    serializer.startTag( NAMESPACE, "repositoryFileNames" );
084                    for ( Iterator iter = localScmMetadata.getRepositoryFileNames().iterator(); iter.hasNext(); )
085                    {
086                        String repositoryFileName = (String) iter.next();
087                        serializer.startTag( NAMESPACE, "repositoryFileName" ).text( repositoryFileName ).endTag( NAMESPACE, "repositoryFileName" );
088                    }
089                    serializer.endTag( NAMESPACE, "repositoryFileNames" );
090                }
091                serializer.endTag( NAMESPACE, tagName );
092            }
093        } //-- void writeLocalScmMetadata( LocalScmMetadata, String, XmlSerializer )
094    
095    }