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