/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.core.writer; import java.io.IOException; import java.io.OutputStream; import java.util.Collection; import java.util.Map; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl; import org.teiid.core.designer.util.CoreArgCheck; import org.teiid.designer.core.ModelerCore; /** * @author dfuglsang To change this generated comment edit the template variable "typecomment": Window>Preferences>Java>Templates. * To enable and disable the creation of type comments go to Window>Preferences>Java>Code Generation. * * @since 8.0 */ public class XmiStreamWriter implements StreamWriter { /** * Constructor for XmiStreamWriter. */ public XmiStreamWriter() { super(); // System.err.println("Created instance of the XmiStreamWriter"); } /** * @see StreamWriter#write(java.io.OutputStream, java.util.Map, java.util.Collection) * Warning: The objects collection input parameter will be added to a new Resource within the execution of this method, * and thus will lose its relationship to any other resource that it is contained in. */ @Override public void write( OutputStream outputstream, Map options, Collection objects ) throws IOException { if (outputstream == null) { CoreArgCheck.isNotNull(outputstream, ModelerCore.Util.getString("XmiStreamWriter.The_OutputStream_reference_may_not_be_null_1")); //$NON-NLS-1$ } if (options == null) { CoreArgCheck.isNotNull(options, ModelerCore.Util.getString("XmiStreamWriter.The_Map_reference_may_not_be_null_2")); //$NON-NLS-1$ } if (objects == null) { CoreArgCheck.isNotNull(objects, ModelerCore.Util.getString("XmiStreamWriter.The_Collection_reference_may_not_be_null_3")); //$NON-NLS-1$ } Resource temp = new XMIResourceImpl(); temp.getContents().addAll(objects); temp.save(outputstream, options); } @Override public void write( OutputStream outputstream, Map options, Resource resource ) { throw new UnsupportedOperationException(ModelerCore.Util.getString("XmiStreamWriter.Can_not_perform_operation_4")); //$NON-NLS-1$ } }