001 /* 002 =================== DO NOT EDIT THIS FILE ==================== 003 Generated by Modello 1.4.1 on 2013-02-24 03:31:05, 004 any modifications will be overwritten. 005 ============================================================== 006 */ 007 008 package org.apache.maven.toolchain.model.io.xpp3; 009 010 //---------------------------------/ 011 //- Imported classes and packages -/ 012 //---------------------------------/ 013 014 import java.io.OutputStream; 015 import java.io.Writer; 016 import java.text.DateFormat; 017 import java.util.Iterator; 018 import java.util.Locale; 019 import org.apache.maven.toolchain.model.PersistedToolchains; 020 import org.apache.maven.toolchain.model.ToolchainModel; 021 import org.codehaus.plexus.util.xml.Xpp3Dom; 022 import org.codehaus.plexus.util.xml.pull.MXSerializer; 023 import org.codehaus.plexus.util.xml.pull.XmlSerializer; 024 025 /** 026 * Class MavenToolchainsXpp3Writer. 027 * 028 * @version $Revision$ $Date$ 029 */ 030 @SuppressWarnings( "all" ) 031 public class MavenToolchainsXpp3Writer 032 { 033 034 //--------------------------/ 035 //- Class/Member Variables -/ 036 //--------------------------/ 037 038 /** 039 * Field NAMESPACE. 040 */ 041 private static final String NAMESPACE = null; 042 043 044 //-----------/ 045 //- Methods -/ 046 //-----------/ 047 048 /** 049 * Method write. 050 * 051 * @param writer 052 * @param persistedToolchains 053 * @throws java.io.IOException 054 */ 055 public void write( Writer writer, PersistedToolchains persistedToolchains ) 056 throws java.io.IOException 057 { 058 XmlSerializer serializer = new MXSerializer(); 059 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " ); 060 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" ); 061 serializer.setOutput( writer ); 062 serializer.startDocument( persistedToolchains.getModelEncoding(), null ); 063 writePersistedToolchains( persistedToolchains, "toolchains", serializer ); 064 serializer.endDocument(); 065 } //-- void write( Writer, PersistedToolchains ) 066 067 /** 068 * Method write. 069 * 070 * @param stream 071 * @param persistedToolchains 072 * @throws java.io.IOException 073 */ 074 public void write( OutputStream stream, PersistedToolchains persistedToolchains ) 075 throws java.io.IOException 076 { 077 XmlSerializer serializer = new MXSerializer(); 078 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " ); 079 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" ); 080 serializer.setOutput( stream, persistedToolchains.getModelEncoding() ); 081 serializer.startDocument( persistedToolchains.getModelEncoding(), null ); 082 writePersistedToolchains( persistedToolchains, "toolchains", serializer ); 083 serializer.endDocument(); 084 } //-- void write( OutputStream, PersistedToolchains ) 085 086 /** 087 * Method writePersistedToolchains. 088 * 089 * @param persistedToolchains 090 * @param serializer 091 * @param tagName 092 * @throws java.io.IOException 093 */ 094 private void writePersistedToolchains( PersistedToolchains persistedToolchains, String tagName, XmlSerializer serializer ) 095 throws java.io.IOException 096 { 097 serializer.setPrefix( "", "http://maven.apache.org/TOOLCHAINS/1.0.0" ); 098 serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" ); 099 serializer.startTag( NAMESPACE, tagName ); 100 serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/TOOLCHAINS/1.0.0 http://maven.apache.org/xsd/toolchains-1.0.0.xsd" ); 101 if ( ( persistedToolchains.getToolchains() != null ) && ( persistedToolchains.getToolchains().size() > 0 ) ) 102 { 103 for ( Iterator iter = persistedToolchains.getToolchains().iterator(); iter.hasNext(); ) 104 { 105 ToolchainModel o = (ToolchainModel) iter.next(); 106 writeToolchainModel( o, "toolchain", serializer ); 107 } 108 } 109 serializer.endTag( NAMESPACE, tagName ); 110 } //-- void writePersistedToolchains( PersistedToolchains, String, XmlSerializer ) 111 112 /** 113 * Method writeToolchainModel. 114 * 115 * @param toolchainModel 116 * @param serializer 117 * @param tagName 118 * @throws java.io.IOException 119 */ 120 private void writeToolchainModel( ToolchainModel toolchainModel, String tagName, XmlSerializer serializer ) 121 throws java.io.IOException 122 { 123 serializer.startTag( NAMESPACE, tagName ); 124 if ( toolchainModel.getType() != null ) 125 { 126 serializer.startTag( NAMESPACE, "type" ).text( toolchainModel.getType() ).endTag( NAMESPACE, "type" ); 127 } 128 if ( toolchainModel.getProvides() != null ) 129 { 130 ((Xpp3Dom) toolchainModel.getProvides()).writeToSerializer( NAMESPACE, serializer ); 131 } 132 if ( toolchainModel.getConfiguration() != null ) 133 { 134 ((Xpp3Dom) toolchainModel.getConfiguration()).writeToSerializer( NAMESPACE, serializer ); 135 } 136 serializer.endTag( NAMESPACE, tagName ); 137 } //-- void writeToolchainModel( ToolchainModel, String, XmlSerializer ) 138 139 }