📄 serializer.java
字号:
/* * The Apache Software License, Version 1.1 * * * Copyright (c) 1999 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Xerces" and "Apache Software Foundation" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, without prior written * permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation and was * originally based on software copyright (c) 1999, International * Business Machines, Inc., http://www.apache.org. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. */package org.jasig.portal.serialize;import java.io.IOException;import java.io.OutputStream;import java.io.Writer;import org.xml.sax.ContentHandler;import org.xml.sax.DocumentHandler;/** * Interface for a DOM serializer implementation, factory for DOM and SAX * serializers, and static methods for serializing DOM documents. * <p> * To serialize a document using SAX events, create a compatible serializer * using <code>makeSAXSerializer</code> and pass it around as a <code> * DocumentHandler</code>. If an I/O error occurs while serializing, it will * be thrown by <code>DocumentHandler.endDocument()</code>. The SAX serializer * may also be used as <code>DTDHandler</code>, <code>DeclHandler</code> and * <code>LexicalHandler</code>. * <p> * To serialize a DOM document or DOM element, create a compatible * serializer using <code>makeSerializer</code> and call it's <code> * serialize(Document)</code> or <code>serialize(Element)</code> methods. * Both methods would produce a full XML document, to serizlie only * the portion of the document use <code>OutputFormat.setOmitXMLDeclaration()</code> * and specify no document type. * <p> * The convenience method <code>serialize(Document,Writer,OutputFormat)</code> * creates a serializer and calls <code>serizlie(Document)</code> on that * serialized. * <p> * The <code>OutputFormat</code> dictates what underlying serialized is used * to serialize the document based on the specified method. If the output * format or method are missing, the default is an XML serializer with * UTF-8 encoding and now indentation. * * * @version $Revision: 1.3 $ $Date: 2003/04/08 22:22:06 $ * @author <a href="mailto:arkin@intalio.com">Assaf Arkin</a> * @author <a href="mailto:Scott_Boag/CAM/Lotus@lotus.com">Scott Boag</a> * @see DocumentHandler * @see ContentHandler * @see OutputFormat * @see DOMSerializer */public interface Serializer{ /** * Specifies an output stream to which the document should be * serialized. This method should not be called while the * serializer is in the process of serializing a document. */ public void setOutputByteStream(OutputStream output); /** * Specifies a writer to which the document should be serialized. * This method should not be called while the serializer is in * the process of serializing a document. */ public void setOutputCharStream( Writer output ); /** * Specifies an output format for this serializer. It the * serializer has already been associated with an output format, * it will switch to the new format. This method should not be * called while the serializer is in the process of serializing * a document. * * @param format The output format to use */ public void setOutputFormat( OutputFormat format ); /** * Return a {@link DocumentHandler} interface into this serializer. * If the serializer does not support the {@link DocumentHandler} * interface, it should return null. */ public DocumentHandler asDocumentHandler() throws IOException; /** * Return a {@link ContentHandler} interface into this serializer. * If the serializer does not support the {@link ContentHandler} * interface, it should return null. */ public ContentHandler asContentHandler() throws IOException; /** * Return a {@link DOMSerializer} interface into this serializer. * If the serializer does not support the {@link DOMSerializer} * interface, it should return null. */ public DOMSerializer asDOMSerializer() throws IOException;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -