001/* 002 Licensed to the Apache Software Foundation (ASF) under one 003 or more contributor license agreements. See the NOTICE file 004 distributed with this work for additional information 005 regarding copyright ownership. The ASF licenses this file 006 to you under the Apache License, Version 2.0 (the 007 "License"); you may not use this file except in compliance 008 with the License. You may obtain a copy of the License at 009 010 http://www.apache.org/licenses/LICENSE-2.0 011 012 Unless required by applicable law or agreed to in writing, 013 software distributed under the License is distributed on an 014 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 KIND, either express or implied. See the License for the 016 specific language governing permissions and limitations 017 under the License. 018 =================== DO NOT EDIT THIS FILE ==================== 019 Generated by Modello 2.5.1, 020 any modifications will be overwritten. 021 ============================================================== 022 */ 023 024package org.apache.maven.scm.provider.local.metadata.io.xpp3; 025 026 //---------------------------------/ 027 //- Imported classes and packages -/ 028//---------------------------------/ 029 030import java.io.OutputStream; 031import java.io.Writer; 032import java.util.Iterator; 033import org.apache.maven.scm.provider.local.metadata.LocalScmMetadata; 034import org.codehaus.plexus.util.xml.pull.MXSerializer; 035import org.codehaus.plexus.util.xml.pull.XmlSerializer; 036 037/** 038 * Class LocalScmMetadataXpp3Writer. 039 * 040 * @version $Revision$ $Date$ 041 */ 042@SuppressWarnings( "all" ) 043public class LocalScmMetadataXpp3Writer 044{ 045 046 //--------------------------/ 047 //- Class/Member Variables -/ 048 //--------------------------/ 049 050 /** 051 * Field NAMESPACE. 052 */ 053 private static final String NAMESPACE = null; 054 055 /** 056 * Field fileComment. 057 */ 058 private String fileComment = null; 059 060 061 //-----------/ 062 //- Methods -/ 063 //-----------/ 064 065 /** 066 * Method setFileComment. 067 * 068 * @param fileComment a fileComment object. 069 */ 070 public void setFileComment( String fileComment ) 071 { 072 this.fileComment = fileComment; 073 } //-- void setFileComment( String ) 074 075 /** 076 * Method write. 077 * 078 * @param writer a writer object. 079 * @param localScmMetadata a localScmMetadata object. 080 * @throws java.io.IOException java.io.IOException if any. 081 */ 082 public void write( Writer writer, LocalScmMetadata localScmMetadata ) 083 throws java.io.IOException 084 { 085 XmlSerializer serializer = new MXSerializer(); 086 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " ); 087 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" ); 088 serializer.setOutput( writer ); 089 serializer.startDocument( localScmMetadata.getModelEncoding(), null ); 090 writeLocalScmMetadata( localScmMetadata, "localScmMetadata", serializer ); 091 serializer.endDocument(); 092 } //-- void write( Writer, LocalScmMetadata ) 093 094 /** 095 * Method write. 096 * 097 * @param stream a stream object. 098 * @param localScmMetadata a localScmMetadata object. 099 * @throws java.io.IOException java.io.IOException if any. 100 */ 101 public void write( OutputStream stream, LocalScmMetadata localScmMetadata ) 102 throws java.io.IOException 103 { 104 XmlSerializer serializer = new MXSerializer(); 105 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " ); 106 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" ); 107 serializer.setOutput( stream, localScmMetadata.getModelEncoding() ); 108 serializer.startDocument( localScmMetadata.getModelEncoding(), null ); 109 writeLocalScmMetadata( localScmMetadata, "localScmMetadata", serializer ); 110 serializer.endDocument(); 111 } //-- void write( OutputStream, LocalScmMetadata ) 112 113 /** 114 * Method writeLocalScmMetadata. 115 * 116 * @param localScmMetadata a localScmMetadata object. 117 * @param serializer a serializer object. 118 * @param tagName a tagName object. 119 * @throws java.io.IOException java.io.IOException if any. 120 */ 121 private void writeLocalScmMetadata( LocalScmMetadata localScmMetadata, String tagName, XmlSerializer serializer ) 122 throws java.io.IOException 123 { 124 if ( this.fileComment != null ) 125 { 126 serializer.comment(this.fileComment); 127 } 128 serializer.setPrefix( "", "http://maven.apache.org/SCM/LOCAL/1.0.0" ); 129 serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" ); 130 serializer.startTag( NAMESPACE, tagName ); 131 serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/SCM/LOCAL/1.0.0 http://maven.apache.org/xsd/scm-local-1.0.0.xsd" ); 132 if ( ( localScmMetadata.getRepositoryFileNames() != null ) && ( localScmMetadata.getRepositoryFileNames().size() > 0 ) ) 133 { 134 serializer.startTag( NAMESPACE, "repositoryFileNames" ); 135 for ( Iterator iter = localScmMetadata.getRepositoryFileNames().iterator(); iter.hasNext(); ) 136 { 137 String repositoryFileName = (String) iter.next(); 138 serializer.startTag( NAMESPACE, "repositoryFileName" ).text( repositoryFileName ).endTag( NAMESPACE, "repositoryFileName" ); 139 } 140 serializer.endTag( NAMESPACE, "repositoryFileNames" ); 141 } 142 serializer.endTag( NAMESPACE, tagName ); 143 } //-- void writeLocalScmMetadata( LocalScmMetadata, String, XmlSerializer ) 144 145}