diff options
Diffstat (limited to 'src/share/classes/com/sun/org/apache/xml/internal/serialize/Serializer.java')
-rw-r--r-- | src/share/classes/com/sun/org/apache/xml/internal/serialize/Serializer.java | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/src/share/classes/com/sun/org/apache/xml/internal/serialize/Serializer.java b/src/share/classes/com/sun/org/apache/xml/internal/serialize/Serializer.java new file mode 100644 index 0000000..5aecb4f --- /dev/null +++ b/src/share/classes/com/sun/org/apache/xml/internal/serialize/Serializer.java @@ -0,0 +1,123 @@ +/* + * reserved comment block + * DO NOT REMOVE OR ALTER! + */ +/* + * Copyright 1999-2002,2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package com.sun.org.apache.xml.internal.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 + * and pass it around as a {@link + * org.xml.sax.DocumentHandler}. If an I/O error occurs while serializing, it will + * be thrown by {@link DocumentHandler#endDocument}. The SAX serializer + * may also be used as {@link org.xml.sax.DTDHandler}, {@link org.xml.sax.ext.DeclHandler} and + * {@link org.xml.sax.ext.LexicalHandler}. + * <p> + * To serialize a DOM document or DOM element, create a compatible + * serializer and call it's {@link + * DOMSerializer#serialize(Document)} or {@link DOMSerializer#serialize(Element)} methods. + * Both methods would produce a full XML document, to serizlie only + * the portion of the document use {@link OutputFormat#setOmitXMLDeclaration} + * and specify no document type. + * <p> + * The {@link OutputFormat} 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. + * + * + * @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; + + +} |